无法进行SQL连接

时间:2011-09-19 21:50:10

标签: sql-server-ce database-connection

我的SQL连接代码出现问题 -

SqlConnection con = new SqlConnection("Data Source=D:\\MyDocuments\\Desktop\\WorkHours\\WorkHours\\App_Data\\Database1.sdf;" + "Trusted_Connection=true;");
con.Open();

我只是通过这两行,只是试图让连接进行并且我得到这个错误:

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

我100%确定我的数据库网址是否正确。帮助将不胜感激

2 个答案:

答案 0 :(得分:4)

您使用的连接类型/提供程序错误。

您的数据库文件具有* .sdf扩展名,这意味着您使用的是Sql Server Compact Edition,而Compact Edition需要System.Data.SqlCe命名空间和SqlCeConnection对象。

修复后,您的代码仍有两个问题:

  1. 不要硬编码数据库文件的路径。将文件作为资源添加到Visual Studio,并在应用程序启动时将代码复制到Application Data文件夹,以便在文件已存在时复制失败。
  2. 确保将您的连接嵌入try / finally块中,并优先使用using块来实现。

答案 1 :(得分:1)

http://www.connectionstrings.com/是一个很棒的网站,我也忘记了正确的连接字符串语法。

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

如果您使用的是紧凑版 -

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

Data Source =MyData.sdf; Persist Security Info =False; 

...或

Data Source =" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf; Persist Security Info =False;