在SQL Server中通過.NET遠程的執行SQL文件

在項目開發過程中,操作數據庫的過程中經常會遇到對表結構、存儲過程等進行修改,這時一般的操作都是通過直接在SQL Server中的企業管理器進行操作,或者查詢分析器裏來執行相關的語句,而我們在實際應用中爲了安全,一般能盡可能少的接觸數據庫服務器,如果對數據庫方面如果有著良好的編程風格的時候,我們一般對會對所更改的生成一個SQL文件,而通過.NET程序來進行數據表及存儲過程的更新就會有更方便的操作性了。

首先我們需要把SQL文件傳到對應的WEB目錄中,最好是把這個文件拷貝到一個遠程用戶不易訪問的受保護的地方。

微軟的SQL Server産品組已經編寫好了這個操作頁面,通過訪問http://www.codeplex.com/sqlhost/Wiki/View.aspx?title=UploadAndExecute這個頁面,就可以看到RunSQL.aspx這個鏈接,點擊它就可以下載了一個名爲FileDownload.aspx的頁面,在代碼中我們可以看到已經定義的兩個參數,代碼如下:

// Url of the T-SQL file you want to run

string fileUrl = @"http://<>/<>.sql";

// Connection string to the server you want to execute against

string connectionString = @"<>";

fileUrl代表上傳SQL文件的存放路徑地址和名稱,connectionString代表數據庫連接字符串,然後需要把FileDownload.aspx上傳到服務器的WEB目錄下,需要直接能通過域名訪問到。

然後通過浏覽器訪問遠程的FileDownload.aspx網頁,這時候遠程服務器上的頁面會分析 .SQL 文件,並且執行其中的所有SQL語句。 執行成功後,會提示“T-SQL file executed successfully”,否則會提示具體的錯誤信息。

爲了安全,運行完SQL 腳本文件後,把FileDownload.aspx網頁和SQL 文件從遠程服務器上刪除。

如果我們需要保留這個功能,而且在維護的時候可能會經常操作一些SQL語句組,這時候,我們可以對FileDownload.aspx改造一下,這時候可以做以下幾個改進:

1) 增加權限部分功能,禁止非法用戶訪問此頁面,如只允許後台管理員進行操作;

2) 可以通過後台傳本地的SQL文件,上傳到服務器指定目錄,然後此頁面通過動態讀取此文件;

3) 對數據庫連接字符串也采用讀取WEB.CONFIG形式,便于數據庫的統一管理。

感興趣的讀者可以按此進行進一步的擴充。這樣就通過.NET建成了一個非常靈活的數據庫操作頁面了,這樣我們在每一次對産品進行升級或者打補丁時候,對數據庫方面的操作,我們就可以建立一個整個的SQL文件進行維護了。

SQL SERVER 2005 EXPRESS不能遠程連接的問題
錯誤提示:"An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server do...查看完整版>>SQL SERVER 2005 EXPRESS不能遠程連接的問題
 
ASP.NET中備份SQL Server數據庫的方法
前言:我們在開發網站時,在管理後台,管理員通常要定期對數據庫進行備份(當然也可以讓sqlserver服務器定期自動備份,但我此處講的是asp.net中的備份),備份的代碼很簡單: 下面是我做一個網站後台時在"備份"按扭下寫的一個...查看完整版>>ASP.NET中備份SQL Server數據庫的方法
 
net在sql server中的圖片存取技術(例子在管理裏inoutimg)
本文總結如何在.Net WinForm和.Net WebForm(asp.net)中將圖片存入SQL Server中並讀取顯示的方法 。1.使用asp.net將圖片上傳並存入SQL Server中,然後從SQL Server中讀取並顯示出來:1)上傳並存入SQL Server 數據庫結構...查看完整版>>net在sql server中的圖片存取技術(例子在管理裏inoutimg)
 
在ASP.NET中把圖片保存到SQL SERVER數據庫(vb.net)
介紹在很多情況下,我們需要把圖片保存到數據庫中。在某些應用程序中,存在一些敏感信息不能被存儲到文件系統中,因爲存儲在文件系統上的任何圖片都很容易被用戶非法獲得。本文將討論在ASP.NET中怎樣把圖片保存到SQL...查看完整版>>在ASP.NET中把圖片保存到SQL SERVER數據庫(vb.net)
 
怎樣在vb.net中將圖片存入SQL Server 2000並能讀出來使用?
在數據庫中建一個Img表,其中包含一個Img字段,類型爲Image或Binary'將Bytes存入數據庫Dim Stream As New IO.MemoryStreamPictureBox1.Image.Save(Stream, System.Drawing.Imaging.ImageFormat.Bmp)Stream.Flush()Dim ...查看完整版>>怎樣在vb.net中將圖片存入SQL Server 2000並能讀出來使用?
 
SQL Server精簡版支不支持ASP.NET?
在我寫了《在SQL Server Express版和Compact版之間做出選擇》之後,園子裏有些朋友問到SQL Server精簡版(sqlce)支不支持ASP.NET?當時我也不確定,我自己測試過確實不行,但是覺得怪怪的,沒有道理不支持啊!今天看了...查看完整版>>SQL Server精簡版支不支持ASP.NET?
 
探討SQL Server 2005.NET CLR編程
探討SQL Server 2005.NET CLR編程
  本文將解釋如何在SQL Server 2005中以盡可能最簡單的方法創建基于.NET的CLR子例程。本文主要針對在服務器端使用SQL Server 2005的.NET開發者。  一. 創建SQL Server 2005數據庫  這一節主要討論創建一個將用...查看完整版>>探討SQL Server 2005.NET CLR編程
 
Sql Server中Image類型字段在VB.NET中的讀寫操作
1.圖片文件寫入 Dim tmpImg As image Dim r As DataRow Dim ms As New MemoryStream Dim data() As Byte ...查看完整版>>Sql Server中Image類型字段在VB.NET中的讀寫操作
 
ASP.NET如何存取SQL Server數據庫圖片
ASP.NET如何存取SQL Server數據庫圖片
  SQL Server提供了一個特別的數據類型:image,它是一個包含binary數據的類型。下邊這個例子就向你展示了如何將文本或照片放入到數據庫中的辦法。在這篇文章中我們要看到如何在SQL Server中存儲和讀取圖片。  1、...查看完整版>>ASP.NET如何存取SQL Server數據庫圖片
 
 
回到王朝網路移動版首頁