asp.net 2.0有一個特殊目錄app_data,通常Sql server 2005 express資料檔案就放在這個目錄,相應的資料庫連接串就是:
connectionString="…… data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User Instance=true"
這裡有一個DataDirectory的宏,他表示什麼意義呢?
DataDirectory 是表示資料庫路徑的替換字串。由於無需對完整路徑進行寫入程式碼,DataDirectory 簡化了項目的共用和應用程式的部署。例如,無需使用以下連接字串:
"Data Source= c:\program files\MyApp\app_data\Mydb.mdf"
通過使用 |DataDirectory|(包含在如下所示的豎線中),即可具有以下連接字串:
"Data Source = |DataDirectory|\Mydb.mdf"
這裡的一篇文章Working with local databases詳細的解釋了DataDirectory 的意義,不僅僅是Sql server 2005 express中使用,也可以在其他的檔案資料庫中使用,例如Sqllite資料庫檔案的連接字串:
<add name="DefaultDB"
connectionString="DriverClass=NHibernate.Driver.SQLite20Driver;Dialect=NHibernate.Dialect.SQLiteDialect;Data Source=|DataDirectory|\data.db3" />
例子:String strConn = "data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\\Database.mdf;User Instance=true;";