SQLSERVER 各個字串聯接及其含義
連接字串中常用的聲明有:
伺服器聲明 Data Source、Server和Addr等。
資料庫聲明 Initial Catalog和DataBase等。
整合Windows帳號的安全性聲明 Integrated Security和Trusted_Connection等。
使用資料庫帳號的安全性聲明 User ID和Password等。
對於訪問資料庫的帳號來說,通常我們在一些參考資料上看到ADO.NET的字串串連往往有如下寫法:
複製代碼 代碼如下:
string ConnStr = "server = localhost;
user id = sa; password = xxx; database = northwind";
對於整合Windows安全性的帳號來說,其連接字串寫法一般如下:
複製代碼 代碼如下:string ConnStr = "server = localhost;
integrated security = sspi; database = northwind";
或string ConnStr = "server = localhost;
trusted_connection = yes; database = northwind";
使用Windows整合的安全性驗證在訪問資料庫時具有很多優勢:安全性更高、訪問速度更快、減少重新設計安全架構的工作、可以寫入程式碼連接字串等,還是很值得使用的。
SQL Native Client ODBC Driver
標準安全連線 複製代碼 代碼如下:Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
您是否在使用SQL Server 2005 Express? 請在“Server”選項使用串連運算式“主機名稱\SQLEXPRESS”。
受信的串連 複製代碼 代碼如下:Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
"Integrated Security=SSPI" 與 "Trusted_Connection=yes" 是相同的。
串連到一個SQL Server執行個體
指定伺服器執行個體的運算式和其他SQL Server的連接字串相同。
Driver={SQL Native Client};Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=yes;
指定使用者名稱和密碼
oConn.Properties("Prompt") = adPromptAlways
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;
使用MARS (multiple active result sets)
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MARS_Connection=yes;
"MultipleActiveResultSets=true"與MARS_Connection=yes"是相同的。
使用ADO.NET 2.0作為MARS的模組。 MARS不支援ADO.NET 1.0和ADO.NET 1.1。
驗證網路資料
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;
使用附加本機資料庫檔案的方式串連到本地SQL Server Express執行個體
Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。
使用附加本機資料檔案夾中的資料庫檔案的方式串連到本地SQL Server Express執行個體
Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。
資料庫鏡像
Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;
SQL Native Client OLE DB Provider
標準串連
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
您是否在使用SQL Server 2005 Express? 請在“Server”選項使用串連運算式“主機名稱\SQLEXPRESS”。
受信的串連
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
"Integrated Security=SSPI"與"Trusted_Connection=yes"相同
串連到SQL Server執行個體
指定伺服器執行個體的運算式和其他SQL Server的連接字串相同。
Provider=SQLNCLI;Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=yes;
使用帳號和密碼
oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Provider=SQLNCLI;Server=myServerAddress;DataBase=myDataBase;
使用MARS (multiple active result sets)
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MarsConn=yes;
"MultipleActiveResultSets=true"和"MARS_Connection=yes"是相同的。
使用ADO.NET 2.0作為MARS的模組。 MARS不支援ADO.NET 1.0和ADO.NET 1.1。
驗證網路資料
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;
使用附加本機資料庫檔案的方式串連到本地SQL Server Express執行個體
Provider=SQLNCLI;Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。
使用附加本機資料檔案夾中的資料庫檔案的方式串連到本地SQL Server Express執行個體
Provider=SQLNCLI;Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。
資料庫鏡像
Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;
SqlConnection (.NET)
標準串連
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
使用serverName\instanceName作為資料來源可以指定SQL Server執行個體。
您是否在使用SQL Server 2005 Express? 請在“Server”選項使用串連運算式“主機名稱\SQLEXPRESS”。
Standard Security alternative syntax
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
受信任的串連
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
Trusted Connection alternative syntax
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
串連到一個SQL Server的執行個體
指定伺服器執行個體的運算式和其他SQL Server的連接字串相同。
Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=True;
來自WinCE裝置的安全連線
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain\myUsername;Password=myPassword;
僅能用於CE裝置。
帶有IP地址的串連
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
使用MARS (multiple active result sets)
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;MultipleActiveResultSets=true;
使用ADO.NET 2.0作為MARS的模組。 MARS不支援ADO.NET 1.0和ADO.NET 1.1。
使用附加本機資料庫檔案的方式串連到本地SQL Server Express執行個體
Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;
為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。
使用附加本機資料檔案夾中的資料庫檔案的方式串連到本地SQL Server Express執行個體
Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。
使用在SQL Server Express執行個體上的使用者執行個體
Data Source=.\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\mydb.mdf;User Instance=true;
資料庫鏡像
Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;
Asynchronous processing
Server=myServerAddress;Database=myDataBase;Integrated Security=True;Asynchronous Processing=True;