2011-09-19 76 views
0

有我的SQL连接代码的麻烦 -无法使SQL连接

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

我只是在通过这些2号线去,只是想获得持续的连接,并即时得到这个错误:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

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

+0

你在什么语言编码? –

回答

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; 
+1

他正在使用精简版 –

4

您使用了错误的连接类型/供应商。

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

一旦你解决这个问题,你仍然有两个问题与您的代码:

  1. 不要硬编码路径到你的数据库文件。将文件作为资源添加到Visual Studio,并将代码复制到应用程序启动时的Application Data文件夹,以便在文件已存在的情况下复制失败。
  2. 确保将你的连接嵌入到try/finally块中,并且首选使用using块完成该连接。