這一篇是針對SQL Server Express版本的資料庫檔案連接作說明,如果你想要了解的是SQL Server 2005或是一般用法的SQL Server Express 請參考「.NET 透過 SqlConnection 連接 SQL Server 的連線字串」
.NET 2.0所釋出的SQL Server Express版本,允許開發人員直接以資料庫檔案的型式,進行資料庫存取維護,就如同Access資料庫,Express 資料庫檔案的連線字串與SQL Server並不相同,這一篇文章,我們來看看這些字串的內容。
我們先來看看最典型的字串格式,列舉如下:
Server=.\SQLExpress;AttachDbFilename=databasefilepath;
Integrated Security=True;User Instance=True;
AttachDbFilename表示所要連接的資料庫檔案其所在位置路徑,假設你有一個叫作 「sample.mdf」的檔案,位於路徑「C:\db\dbsub」路徑底下,則必須指定此 AttachDbFilename 的參數值如下:
AttachDbFilename=C:\db\dbsub\sample.mdf
如果你不想要寫死路徑,則必須透過「DataDirectory」指定路徑,格式如下:
Server=.\SQLExpress;AttachDbFilename=|DataDirectory|sample.mdf;
Integrated Security=True;User Instance=True;
其中的DataDirectory取代了原來的實體路徑,不過這樣作的話,你必須確認資料庫檔案是放在系統資料夾裏面,例如ASP.NET專案裏的[ App_Data] ,如此一來,當你在部署開發完成的網站的時候,就不需要擔心找應用程式找不到資料庫檔案了。