SQL Server精简版4.0:错误:26 -错误定位服务器/实例指定

本文关键字:错误 服务器 实例 定位 精简版 Server SQL | 更新日期: 2023-09-27 18:16:37

我一直在开发一个控制台应用程序(c#/. net Framework 4.0/VS2012)。我创建了一个SQL Server紧凑型数据库(*.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是否配置为允许远程连接。(provider: SQL Network Interfaces, error: 26 - error locations Server/Instance Specified)

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

  2. SQL Server代理和SQL Server浏览器都处于"已启动"状态。当使用SQL Server紧凑型版时,它实际上很重要吗?

SQL Server精简版4.0:错误:26 -错误定位服务器/实例指定

对于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)等等…

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