0

这是我的连接字符串

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

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

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

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

提前致谢!

4

4 回答 4

1

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

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

SqlCeConnection conn = new SqlCeConnection(@"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");
于 2013-04-16T15:19:13.540 回答
1

您使用了错误类型的 SQL 连接。你应该使用这个SqlCeConnection类:

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

这是 SQL CE 连接字符串的一个非常好的参考

于 2013-04-16T15:25:38.803 回答
0

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

所以这应该工作:

SqlCeConnection sqlConnection = new SqlCeConnection(@"Data Source=C:\Users\admin\documents\visual studio 2010\Projects\WFA1\WFA1\database.sdf");
于 2013-04-16T15:22:50.740 回答
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 );
于 2013-04-16T15:27:10.010 回答