我有一个。sdf文件在我的本地目录C:myDatabase.sdf
在Visual Studio 2010中。. NET,我添加了表和值等。我现在有一个页面,我需要连接到Default.aspx.cs页面上的本地数据库。
我的代码是:
SqlConnection conn = new SqlConnection("Data Source=C:\myDatabase.sdf;");
conn.Open();
当它试图运行conn.Open()时,代码失败;调试器显示无法连接。下面是错误:
"在建立到SQL Server的连接时发生了与网络相关或特定实例的错误。未找到服务器或无法访问服务器。验证实例名是否正确,SQL Server是否配置为允许远程连接。(提供者:SQL网络接口,错误:26 -错误定位服务器/实例指定)"
现在在连接字符串中,我几乎尝试了所有的方法!我试过添加数据库名、用户名、密码、server=localhost、mode=exclusive等等。还是不行……我想不明白。我没有安装SQL服务器,我不认为。我只有visual studio 2010和一个SDF文件。
我想它试图连接到服务器…但是数据库文件是本地的吗?我不明白。"server=localhost"不起作用。我不知道如何检查文件是否允许远程连接,因为我不知道如何访问文件,而不是在visual studio!
谁能告诉我发生了什么事?您正在使用错误的api。SqlConnection是System.Data.SqlClient的一部分,用于访问运行SQL Server的数据库。要访问SqlServer Compact数据库,必须使用System.Data.SqlServerCe。您可能需要引用一个dll来访问这个命名空间。
请尝试使用sqlcecconnection而不是SqlConnection。
http://msdn.microsoft.com/en-us/library/system.data.sqlserverce.sqlceconnection (v = VS.100) . aspx