默认连接字符串定义

 

项目需要用到的数据库放在bin/debug 目录下,在定义连接字符串时写成下面的形式比较简单(实例及数据库名称有必要更改)。

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db_sell.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True

 我曾百度提问过的问题:

连接字符串
方法1:
            SqlConnection oConn;
            string strConn;
               oConn = new SqlConnection();              
                strConn = "Data Source=(localhost);";
                strConn += "Initial Catalog=Northwind;";
                strConn += "User ID=sa;";
                strConn += "Password=;";
                oConn.ConnectionString = strConn;
                oConn.Open();
                MessageBox.Show("Connection Open", "btnconnect_Click()");
                oConn.Close();     
方法2:
strConn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\NorthWind.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

解释:|DataDirectory|\是固定的一个宏,在.net下它一般是指应该程序所在目录下的app_data文件夹,含义如下
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" />

posted @ 2011-11-11 13:44  Cornelius  阅读(279)  评论(0)    收藏  举报