黑马程序员技术交流社区

标题: 连接字符串的问题 [打印本页]

作者: 刘豪    时间: 2012-6-9 16:44
标题: 连接字符串的问题
关于连接字符串的问题
当SqlConnection conn = new SqlConnection(@"Data Source=.

\SQLEXPRESS;AttachDBFilename=|DataDirectory|

\FirstDataBase.mdf;Integrated Security=True;User Instance=True");老是报

运行错误,搞的我好郁闷,后来把|DataDirectory|改成实际路径就没问题了, using

(SqlConnection conn = new SqlConnection(@"Data Source=.

\SQLEXPRESS;AttachDBFilename=C:\Users\liuhao\Desktop\ADO.NET

\FirstDataBase\FirstDataBase.mdf;Integrated Security=True;User

Instance=True"))
最郁闷的是改回原来的又能用
我不知道知道是什么原因,暂时先拿实际路径用着。
求高手支招,到底是怎么回事?
作者: 钟广雄    时间: 2012-6-9 17:53
杨老大的,同学们所说的神秘代码没附上,你的SqlConnection conn = new SqlConnection(@"Data Source=.

\SQLEXPRESS;AttachDBFilename=|DataDirectory|

\FirstDataBase.mdf;Integrated Security=True;User Instance=True");

DataDirectory 没指定域,
杨老师的是先经过下面的神秘代码指定
string dateDir = AppDomain.CurrentDomain.BaseDirectory;// 基目录(项目文件名)
            if (dateDir.EndsWith(@"\bin\Debug\")
                || dateDir.EndsWith(@"\bin\Release\"))
            {
                dateDir = System.IO.Directory.GetParent(dateDir).Parent.Parent.FullName;
                AppDomain.CurrentDomain.SetData("DataDirectory", dateDir);
            }
有这代码指定,才可以用你上面的那个连接字符串是正确的,

不过,我一般都是放在配置文件 里,配置文件 里的字符串也是这个,连接OK。


连接SQL Server数据库使用SqlConnection对象连接SQL Server数据库
声明:以下连接的属性都可以参考“SQL Server 数据库连接字符串参数一览表”取它的别名;除了必须设置的属性以外还可以设置其他辅助的属性。如Connect Timeout、Encrypt等
设置数据库文件路径的方法:
1.使用绝对路径:“AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf”
2.使用服务器相对路径:“AttachDbFilename=”+Server.MapPath(“\\App_Data\\data.mdf”)
3.使用最简单的相对路径:“AttachDbFilename=|DataDirectory|\\data.mdf”
推荐使用第3种方式,“|DataDirectory|”代表ASP.NET项目里自动创建的App_Data文件夹
1.以SQL Server验证模式连接SQLServer
(1)以数据库名连接方式
或者(使用缩写与别名)
(2)以数据库文件完整路径连接方式
“Serve=服务器名;AttachDbFilename=数据库文件路径;User ID=用户名;Password=密码”
示例:
备注:密码可以为空。
2.以Windows 验证模式连接SQL Server
(1)以数据库名连接方式
(2)以数据库文件完整路径连接方式
“Serve=服务器名;AttachDbFilename=数据库文件路径; Integrated Security=true”
示例:
备注:SSPI即为true



希望对你有帮助



作者: ☆丿灬北纬28°    时间: 2012-6-9 18:13
你的数据库是放在App_Data里面吗%……
作者: 刘豪    时间: 2012-6-9 22:12
我附加了那些语句,但是就有些时候会运行错误,所以才郁闷啊。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2