SQL Server Compact Edition 4.0:错误:26 - 找不到指定的服务器/实例

4

我一直在开发一个控制台应用程序(C# / .Net Framework 4.0 / VS2012)。我创建了一个 SQL Server Compact 数据库(*.sdf),并添加了以下连接字符串:

<connectionStrings>
    <add name="Dispatcher.Properties.Settings.FakeDataSetConnectionString"
        connectionString="Data Source=|DataDirectory|\FakeDataSet.sdf"
        providerName="Microsoft.SqlServerCe.Client.4.0" />
</connectionStrings>

但是当我尝试执行以下代码时:
SqlConnection con = new SqlConnection();
con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Dispatcher.Properties.Settings.FakeDataSetConnectionString"].ToString();
con.Open();

在con.Open()时,会出现以下异常:

在建立与SQL Server的连接时发生了一个特定于网络或实例的错误。 无法找到服务器或无法访问。 请验证实例名称是否正确,并且SQL Server已配置为允许远程连接。 (提供程序:SQL Network Interfaces,错误:26 - 找不到服务器/实例指定的错误)

  1. 我在这里做错了什么?

  2. SQL Server Agent和SQL Server Browser都处于“已启动”状态。 使用SQL Server Compact Edition时,这实际上有影响吗?

1个回答

7

对于 SQL Server Compact,您需要使用 SqlCeConnection (而不是 SqlConnection - 后者适用于“真正”的 SQL Server 版本)。

SqlCeConnection con = new SqlCeConnection();
con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Dispatcher.Properties.Settings.FakeDataSetConnectionString"].ToString();
con.Open();

当然,您还需要使用SqlCeCommand(而不是SqlCommand)等相关内容...

有关System.Data.SqlServerCe命名空间中所有类的详细信息,请参见MSDN SQL Server Books Online文档


2
谢谢。这解决了我的问题。这是我第一次使用 SQL Compact。^-^ - Umayr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接