3

我在我的本地目录下的.sdf文件:\ myDatabase.sdfSQL精简版,无法连接到本地SDF文件

在Visual Studio 2010 asp.NET,我增加了表格和值等。我现在有一个页面,我需要连接到Default.aspx.cs页面上的本地数据库。

我的代码是:

SqlConnection conn = new SqlConnection("Data Source=C:\\myDatabase.sdf;");   
conn.Open(); 

当它试图运行conn.Open()的代码失败;调试器说无法连接。继承人错误:

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

现在在连接字符串,ive尝试几乎所有! ive尝试添加数据库名称,用户名,密码,server = localhost,mode = exclusive等等。它仍然无法正常工作......我无法弄清楚。我没有安装SQL Server,我不认为。我只有Visual Studio 2010和一个sdf文件。

我认为它试图连接到服务器...但数据库文件是本地的?我不明白。 “服务器=本地主机”没有工作。我不知道如何检查文件是否允许远程连接,因为我不知道如何访问该文件以外的视觉工作室!

有人可以告诉我发生了什么事!

+0

您是否尝试使用SQL Management Studio连接到sdf? –

+0

不,我没有,我不认为我有管理工作室:但是生病检查。我不明白的是,当我通过Visual Studio连接到sdf文件时,它连接良好,没有问题。在属性中,它给了我用来连接的连接字符串。所以我完全拷贝了它(加了反斜线),它仍然没有工作 –

回答

5

您使用了错误的API。 SqlConnection是System.Data.SqlClient的一部分,用于访问运行SQL Server的数据库。要访问Sql Server Compact数据库,您必须使用System.Data.SqlServerCe。你可能需要引用一个dll来访问这个命名空间。

+0

非常感谢,这似乎合乎逻辑。但我是一个asp c#newb。我如何引用一个DLL?我设法找到DLL的路径 –

+0

请阅读MSDN文档,它明确提到名称空间是程序集System.Data.SqlServerCe.dll的一部分http://msdn.microsoft.com/en-us/library/ wkze6zky.aspx – 2011-07-08 08:34:07

+0

我加了dll,没问题:)加了命名空间,改了我的代码。看起来都很完美!然后在编译时,它说在运行时错误“SQL Server Compact不适用于ASP.NET开发”。 –