在SQL Server中通過.NET遠(yuǎn)程的執(zhí)行SQL文件_Mssql數(shù)據(jù)庫教程
在項(xiàng)目開發(fā)過程中,操作數(shù)據(jù)庫的過程中經(jīng)常會(huì)遇到對(duì)表結(jié)構(gòu)、存儲(chǔ)過程等進(jìn)行修改,這時(shí)一般的操作都是通過直接在SQL Server中的企業(yè)管理器進(jìn)行操作,或者查詢分析器里來執(zhí)行相關(guān)的語句,而我們?cè)趯?shí)際應(yīng)用中為了安全,一般能盡可能少的接觸數(shù)據(jù)庫服務(wù)器,如果對(duì)數(shù)據(jù)庫方面如果有著良好的編程風(fēng)格的時(shí)候,我們一般對(duì)會(huì)對(duì)所更改的生成一個(gè)SQL文件,而通過.NET程序來進(jìn)行數(shù)據(jù)表及存儲(chǔ)過程的更新就會(huì)有更方便的操作性了。
首先我們需要把SQL文件傳到對(duì)應(yīng)的WEB目錄中,最好是把這個(gè)文件拷貝到一個(gè)遠(yuǎn)程用戶不易訪問的受保護(hù)的地方。
微軟的SQL Server產(chǎn)品組已經(jīng)編寫好了這個(gè)操作頁面,通過訪問http://www.codeplex.com/sqlhost/Wiki/View.aspx?title=UploadAndExecute這個(gè)頁面,就可以看到RunSQL.aspx這個(gè)鏈接,點(diǎn)擊它就可以下載了一個(gè)名為FileDownload.aspx的頁面,在代碼中我們可以看到已經(jīng)定義的兩個(gè)參數(shù),代碼如下:
| 以下為引用的內(nèi)容:
// Url of the T-SQL file you want to run |
fileUrl代表上傳SQL文件的存放路徑地址和名稱,connectionString代表數(shù)據(jù)庫連接字符串,然后需要把FileDownload.aspx上傳到服務(wù)器的WEB目錄下,需要直接能通過域名訪問到。
然后通過瀏覽器訪問遠(yuǎn)程的FileDownload.aspx網(wǎng)頁,這時(shí)候遠(yuǎn)程服務(wù)器上的頁面會(huì)分析 .SQL 文件,并且執(zhí)行其中的所有SQL語句。 執(zhí)行成功后,會(huì)提示“T-SQL file executed successfully”,否則會(huì)提示具體的錯(cuò)誤信息。
為了安全,運(yùn)行完SQL 腳本文件后,把FileDownload.aspx網(wǎng)頁和SQL 文件從遠(yuǎn)程服務(wù)器上刪除。
如果我們需要保留這個(gè)功能,而且在維護(hù)的時(shí)候可能會(huì)經(jīng)常操作一些SQL語句組,這時(shí)候,我們可以對(duì)FileDownload.aspx改造一下,這時(shí)候可以做以下幾個(gè)改進(jìn):
1) 增加權(quán)限部分功能,禁止非法用戶訪問此頁面,如只允許后臺(tái)管理員進(jìn)行操作;
2) 可以通過后臺(tái)傳本地的SQL文件,上傳到服務(wù)器指定目錄,然后此頁面通過動(dòng)態(tài)讀取此文件;
3) 對(duì)數(shù)據(jù)庫連接字符串也采用讀取WEB.CONFIG形式,便于數(shù)據(jù)庫的統(tǒng)一管理。
感興趣的讀者可以按此進(jìn)行進(jìn)一步的擴(kuò)充。這樣就通過.NET建成了一個(gè)非常靈活的數(shù)據(jù)庫操作頁面了,這樣我們?cè)诿恳淮螌?duì)產(chǎn)品進(jìn)行升級(jí)或者打補(bǔ)丁時(shí)候,對(duì)數(shù)據(jù)庫方面的操作,我們就可以建立一個(gè)整個(gè)的SQL文件進(jìn)行維護(hù)了。
分享:解讀微軟SQLServer密碼管理的危險(xiǎn)判斷當(dāng)管理SQL Server內(nèi)在的帳戶和密碼時(shí),我們很容易認(rèn)為這一切都相當(dāng)?shù)陌踩�。畢竟,你的SQL Server系統(tǒng)被保護(hù)在防火墻里,而且還有Windows身份驗(yàn)證的保護(hù),所有用戶都需要密碼才能進(jìn)入
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 快速清除SQLServer日志的兩種方法
- SQL Server中, DateTime (日期)型操作的 SQL語法
- 解析數(shù)據(jù)庫安全管理的三個(gè)經(jīng)驗(yàn)
- sqlserver中delete、update中使用表別名和oracle的區(qū)別
- SQL Server 2012 安裝圖解教程(附sql2012下載地址)
- SQLite數(shù)據(jù)庫管理相關(guān)命令的使用介紹
- 實(shí)例演示left join/right join/inner join
- 詳解優(yōu)化SQL Server數(shù)據(jù)庫的方法
- 揭秘超全sql語句全集
- 分析SQL Server性能的改進(jìn)與邏輯數(shù)據(jù)庫設(shè)計(jì)的關(guān)聯(lián)
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-在SQL Server中通過.NET遠(yuǎn)程的執(zhí)行SQL文件
。