黑马程序员技术交流社区
标题:
连接字符串的问题
[打印本页]
作者:
刘豪
时间:
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数据库
provider=SQLOLEDB;
Data Source=服务器名;
Initial Catalog=数据库名;
uid=用户;
pwd=密码
使用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)以数据库名连接方式
Server=服务器名;
Database=数据库名称;
User ID=用户名;
Password=密码
或者(使用缩写与别名)
Server=服务器名;
Initial Catalog=数据库名称;
Uid=用户;
Pwd=密码
(2)以数据库文件完整路径连接方式
“Serve=服务器名;AttachDbFilename=数据库文件路径;User ID=用户名;Password=密码”
示例:
Server=.\SQLEXPRESS; Database=DatabaseName; User ID =sa; Password=abc123”
Server=.\SQLEXPRESS; Initial Catalog =DatabaseName; Uid =sa; Pwd=abc123”
Server=(local)\SQLEXPRESS; AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;
User ID =sa; Password=abc123”
备注:密码可以为空。
2.以Windows 验证模式连接SQL Server
(1)以数据库名连接方式
Server=服务器名;
Database=数据库名称;
Integrated Security=SSPI
(2)以数据库文件完整路径连接方式
“Serve=服务器名;AttachDbFilename=数据库文件路径; Integrated Security=true”
示例:
Server=服务器名;
Database=数据库名称;
Integrated Security=SSPI
Server=(local)\SQLEXPRESS;
AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;
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