免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

.NET 透過 SqlConnection 連接 SQL Server 的連線字串

參考

無論使用C#或是VB.NET,當你要透過ADO.NET連接SQL Server資料庫的時候,必須指定連接字串,這篇文章,我們來看一下相關連線字串的彙總。

最簡單的連線字串,是以信任連線的方式連接 SQL Server 資料庫,字串如下:

Server=ServerAddress;Database=DataBaseName;Trusted_Connection=True;

ServerAddress是資料庫伺服器的名稱,DataBaseName則是所要連接的資料庫名稱,Trusted_Connection設為True,表示直接透過信任連線連接,因此不需要指定帳號密碼資料。

底下是非信任連線的狀況,其中的Trusted_Connection設定為flase,因此必須再指定ID與Password兩個屬性值給他,這兩個值分別代表開啟資料庫所需的帳號與密碼:

Server=ServerAddress;Database=DataBaseName;User ID=Username;Password=Password;Trusted_Connection=False;

除了上述的語法,你也可以利用以下的替代語法:

Data Source=ServerAddress;Initial Catalog=DataBaseName;Integrated Security=SSPI;
Data Source=ServerAddress;Initial Catalog=DataBaseName;User Id=myUsername;Password=myPassword;

「Integrated Security=SSPI」的意義與「Trusted_Connection=True」的相同,其他的幾個項目則對應至相同的屬性。


另外,你也可以透過指定 IP Address 的方式,連接逺端資料庫,字串如下,要特別注意的是,其中的Data Source除了IP位址,最後一個數字「1433」,是SQL Server的預設連接埠:

Data Source=192.168.100.100,1433;Network Library=DBMSSOCN;
Initial Catalog=DataBaseName;User ID=Username;Password=PasswordName;

如果你使用的是SQL Server Express版本,則連線字串是相同的,差別只在於Server名稱必須加上一個SQLEXPRESS ,如下式:

Server=ServerAddress\SQLEXPRESS ;Database=DataBaseName;Trusted_Connection=True;

由於.NET 2.0所釋出的SQL Server Express版本,允許開發人員直接以資料庫檔案的型式,進行資料庫存取維護,就如同Access資料庫,對於這種類型的資料連線字串又與上述的不同,請參考「SQL Server Express 資料庫檔案的連線字串(Connection String)

------------------------------------------------------------------------
AttachDbFileName 是指示 SQL Server Express 要到哪個路徑把資料庫自動附加進來,但當資料庫一被附加就會被鎖住,其他人的 SQL Server 將無法連到這個資料庫檔案。AttachDbFileName 若放在網路路徑,那麼必須要有足夠的網路權限才可以存取到,但鎖住的問題仍然存在。

你的朋友的講法也是錯的,|DataDirectory| 是指把資料庫放在本機該專案目錄下的 App_Data 裡面。

我說的是你要建一台 SQL Server,把資料庫加到 SQL Server 裡面,再把程式的連線字串修改指向那台 SQL Server。如果你不知道怎麼做,到書局去找本 SQL Server 的書看。


-----------------------------------------------------------------
先確認你連資料庫用的是哪個類別。

SQLServer 專用的是 System.Data.SqlXXX

Oledb 通用的是 System.Data.OledbXXX

Odbc 通用的是 System.Data.OdbcXXX

不同的類別決定你該用哪個連線字串。你目前貼出來的連線字串格式是 Oledb 。


資料來源:

Data source=系統管理工具 服務 SQLServer 的服務後面括號的執行個體名。預設 MSSQLSERVER 可省略執行個體名。

資料庫:

AttachDbFilename=動態附掛的資料庫路徑

Initial Catalog=靜態的資料庫名
返回列表