我正在尝试从C#连接到SQL Server实例。
这是我的连接字符串,我收到异常
System.ComponentModel.Win32Exception:系统找不到指定的文件
当我尝试执行此代码时:
constr = "Data Source=(local);Initial Catalog=bookstall;Integrated Security=True";
我的本地数据源是ELCOT-PC\SQLEXPRESS
,我也试过下面的字符串,这里我得到编译时错误
Unrecogonized Esscape Sequence
代码:
constr = "Data Source=ELCOT-PC\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";
请帮我解决这个问题
提前致谢。
答案 0 :(得分:2)
您可以尝试使用" /"而不是" \",或在字符串前添加@(逐字),如下所示:
constr=@"Data Source=ELCOT-PC\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";
此致
答案 1 :(得分:2)
尝试
constr="Data Source=ELCOT-PC\\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";
或使用Varbatim
constr=@"Data Source=ELCOT-PC\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";
由于以上内容将修复您的连接字符串,现在您需要确保连接到Named Instance
的sql server或Default Instance
。
规则是当您尝试连接到默认实例时,只使用连接字符串的数据源属性中的MachineName
。
如果您尝试连接到服务器/计算机上的Named Instance
Sql Server,则必须使用ServerName\InstanceName
连接到sql server。
答案 2 :(得分:2)
如果您尝试连接到命名实例
,请将数据源更改为服务器答案 3 :(得分:1)
对于第二种情况,您需要转义\
。您可以使用@来进行转义:
constr=@"Data Source=ELCOT-PC\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";
答案 4 :(得分:1)
使用" /"而不是" \",或添加@(逐字)
constr="Data Source=ELCOT-PC\\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";
或
constr=@"Data Source=ELCOT-PC\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";
或
constr=@"Data Source=ELCOT-PC\SQLEXPRESS;Initial Catalog=bookstall;Integrated Security=True";