c #windows,本地数据库(sql server),连接字符串无法正常工作

时间:2013-04-16 15:17:21

标签: c# sql-server-2008 sql-server-ce connection-string

这是我的连接字符串

SqlConnection conn = new SqlConnection(@"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");

我从属性中复制了它,我在前面添加了@但没有改变任何东西。构建和运行期间没有错误。但是当我点击插入按钮时,会出现以下错误。

“建立与SQL Server的连接时发生网络相关或特定于实例的错误。未找到服务器或无法访问服务器。请验证实例名称是否正确以及SQL Server是否配置为允许远程连接。”< / p>

我尝试编辑连接字符串并使用datadirectory而不是整个路径,但是发生了同样的错误,我是.net的新手,所以我无法弄清楚可能是什么原因。我试过谷歌,但我不知道那里的解决方案是否与我的问题有关。

提前致谢!

4 个答案:

答案 0 :(得分:1)

SQL Server的数据源是计算机名,而不是文件名。

您应该添加对SQL CE程序集的引用,并执行以下操作:

SqlCeConnection conn = new SqlCeConnection(@"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");

答案 1 :(得分:1)

您正在使用错误类型的SQL连接。您应该使用SqlCeConnection类:

SqlCeConnection conn = new SqlCeConnection(@"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");

Here is a really good reference for SQL CE connection strings

答案 2 :(得分:0)

对于MSSQL Server Compact Edition,您应该使用SqlCeConnection类。

所以这应该有效:

SqlCeConnection sqlConnection = new SqlCeConnection(@"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");

答案 3 :(得分:0)

创建连接字符串,如下所示:

添加名称空间using System.Data.SqlServerCe;

SqlCeConnection conn = new SqlCeConnection(@"Data Source=C:\Users\admin\documents\visual 
studio 2010\Projects\WFA1\WFA1\database.sdf; Persist Security Info=False;");

如果项目中有.sdf个文件,那么您可以使用:

string strConnectionString ="Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.
GetExecutingAssembly().GetName().CodeBase) + "\\database.sdf;Persist Security Info=False;";
SqlCeConnectionconn = new SqlCeConnection(strConnectionString );