C#串連SQL Server的SqlConnection的字串,許多都是不能串連的。現在給一個能串連的:
using System.Data.SqlClient;
public class sqlServerConnection
{
public static void Main()
{
//下面就是標準的串連,注意SERVER是我的電腦名稱。SQLEXPRESS是資料庫執行個體。SSPI表示使用Windows登陸的帳戶。master是要串連的資料庫。
//
string cstr = "server=SERVER//SQLEXPRESS;Initial Catalog=master;Integrated Security=SSPI";
//
try
{
using (SqlConnection con = new SqlConnection(cstr))
{
con.Open();
System.Console.WriteLine("ServerVersion:{0}",con.ServerVersion);
System.Console.WriteLine("State:{0}",con.State);
}
}
catch (System.Exception sqle)
{
System.Console.WriteLine(sqle.Message);
}
}
}
/*
程式的輸出:
ServerVersion:09.00.3042
State:Open
*/
//不使用遠端連線的時候應該把連接字串改為:
"Server=localhost//SQLExpress;Integrated Security=SSPI"
//也可以指定預設的資料庫,例如,指定預設資料庫是"master"就應該寫為:
"Server=localhost//SQLExpress;Initial Catalog=master;Integrated Security=SSPI"
或者:"Server=localhost//SQLExpress;Initial Catalog=master;Uid=sa;Pwd=sa"
B/S模式串連資料庫:
string sql="Source=伺服器Ip;database=資料庫名稱;UID=sa;Password=sasa;";
C/S模式串連資料庫:
string sql="Data Source=伺服器Ip;Initial Catalog=資料庫名稱;User ID=sa;password=sa";
串連SQL Server 2005 Express的問題
2010-01-15 13:33
錯誤資訊:
“在建立與伺服器的串連時出錯。在串連到 SQL Server 2005 時,在預設的設定下 SQL Server 不允許進行遠端連線可能會導致此失敗。 (provider: 具名管道提供者, error: 40 - 無法開啟到 SQL Server 的串連)”
解決方案:
1.安裝一個SQL Server Management Studio Express。微軟官方有下載,baidu,google裡面都能查到。
2.安裝完成後,開始菜單裡找到Microsoft SQL Server 2005--組態工具--SQL Server 介面區配置器--服務和串連的介面區配置器:
開啟MSSQLSERVER節點下的Database Engine 節點,選擇"遠端連線",再選擇"同時使用TCP/IP和Named pipes",確定後重啟資料庫服務。
3.用預設Windows身分識別驗證模式登入SQL Server Management Studio Express,選擇左邊列表裡面的伺服器,右鍵查看屬性,在"安全性"裡面選擇SQL Server和 Windows身分識別驗證模式
4.回到SQL Server Management Studio Express主介面,在"安全性"-"登入名稱"下面為自己建立一個登入名稱,設定為SQL Server身分識別驗證,然後在左邊選擇自己 想要的許可權。
5.完上面四步後,通過以下連接字串就應該可以串連到SQL Server 2005了。
"data source=./SQLEXPRESS;initial catalog=master;uid=sa;pwd=sa"
其中./SQLEXPRESS可以寫作LOCALHOST/SQLEXPRESS或者MachineName/LOCALHOST,當然第一種寫法最簡單了,適用於本機。