2015-05-23 64 views
8

我寫的運行SQL服務器腳本驗證碼:
我怎樣才能用c#運行sql服務器腳本?

string sqlConnectionString = "Data Source=.;Initial Catalog=behzad;Integrated Security=True"; 
//string sqlConnectionString = "Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True"; 
FileInfo file = new FileInfo("d:\\behzadBULK.sql"); 
string script = file.OpenText().ReadToEnd(); 
SqlConnection conn = new SqlConnection(sqlConnectionString); 
Microsoft.SqlServer.Server server = new Microsoft.SqlServer.Server(new ServerConnection(conn)); 
server.ConnectionContext.ExecuteNonQuery(script); 


但此行:

Microsoft.SqlServer.Server server = new Microsoft.SqlServer.Server(new ServerConnection(conn)); 

我得到這個錯誤:

Are you missing reference? 


應該加什麼參考該項目?

+0

使用'使用System.Data.SqlClient的;'名稱空間部分.. –

+0

看到這個https://開頭msdn.microsoft.com/en-us/library/system.data.sqlclient%28v=vs.110%29.aspx –

+0

我使用System.Data.SqlClient添加;但如此起牀錯誤! –

回答

3

您的問題在於,對組件Microsoft.SqlServer.Server的引用缺失,這就是爲什麼會出現此錯誤。

您可以通過右鍵單擊項目並單擊添加引用,爲該特定程序集添加對項目的引用來解決此問題。這應該打開一個窗口,向您展示所有可用的組件,然後您可以選擇該組件並將其添加到項目中。

之後,確保您已經在代碼中添加了名稱空間,並且應該這樣做。

希望這會有所幫助。

3

嘗試使用SqlClient連接不SqlServer的

using System.Data; 
using System.Data.SqlClient; 

和一些像這樣的代碼

settings = System.Configuration.ConfigurationManager.ConnectionStrings["MyTweetConnection"]; 
ConnectionString = settings.ConnectionString; 
SQLCon = new SqlConnection(ConnectionString);