我正在尝试使用DataSet
访问数据库。我正在使用Visual Studio for Web Express 2013,使用SQL Server Compact 4.0的ASP Web Forms项目。我从Database Explorer创建了数据库,添加了3个表,现在我的代码有getData
,setData
方法,它们将使用Dataset
来获取数据。
但SqlConnection
对象在运行时抛出异常。
[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:SQL网络接口,错误:
26 - 查找指定的服务器/实例时出错)]
我想这是由于连接字符串,因为错误在行:
SLQCon.Open();
我尝试了多种方法,但没有一种方法可以使用。这些是其中的一小部分,
其他的工作正常(网页表单控件),唯一的问题是当我做一些与数据库相关的事情时,有什么修复?
我的代码如下:
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
}
答案 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客户端混淆