SQL Server数据库连接问题

时间:2014-08-03 15:13:35

标签: c# sql asp.net .net sql-server

我正在尝试从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";

请帮我解决这个问题

提前致谢。

5 个答案:

答案 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)

如果您尝试连接到命名实例

,请将数据源更改为服务器

http://www.connectionstrings.com/sql-server/

答案 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";