使用ASP.Net的SQL Server Compact中的连接错误

时间:2016-01-06 12:15:54

标签: c# asp.net sql-server

我正在尝试使用DataSet访问数据库。我正在使用Visual Studio for Web Express 2013,使用SQL Server Compact 4.0的ASP Web Forms项目。我从Database Explorer创建了数据库,添加了3个表,现在我的代码有getDatasetData方法,它们将使用Dataset来获取数据。

SqlConnection对象在运行时抛出异常。

  

[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:SQL网络接口,错误:
   26 - 查找指定的服务器/实例时出错)]

我想这是由于连接字符串,因为错误在行:

SLQCon.Open();

我尝试了多种方法,但没有一种方法可以使用。这些是其中的一小部分,

msdn link

Connection Strings

其他的工作正常(网页表单控件),唯一的问题是当我做一些与数据库相关的事情时,有什么修复?

我的代码如下:

void setData(string tableName) {   
    string ConString = @"Data Source=" + "F:\\Github\\JournalClassifier\\WebApplication1\\WebApplication1\\App_Data\\KeywordsDB.sdf" + ";Connect Timeout=30";

    SQLCon.ConnectionString = ConString; 

    SQLCon.Open();      // Exception here

    // insertion code  
}

1 个答案:

答案 0 :(得分:1)

确保您的数据库位于根应用程序的App_Data文件夹中。并将连接字符串更改为此

<add name="ConnectionStringName"
    providerName="System.Data.SqlServerCe.4.0"
    connectionString="Data Source=\KeywordsDB.sdf;Connection Timeout=30" />

您需要关注的是使用SQL Server Compact,因此提供程序名称需要使用System.Data.SqlServerCe.4.0否则会与SQL Server客户端混淆