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 网络接口,错误:26 - 错误定位服务器/指定的实例)

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

  2. SQL Server Agent 和 SQL Server Browser 都处于“已启动”状态。使用 SQL Server Compact Edition 真的很重要吗?

4

1 回答 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(not SqlCommand) 等等......

有关命名空间中所有类的更多详细信息,请参阅MSDN SQL Server 联机丛书文档System.Data.SqlServerCe

于 2013-06-01T16:37:01.350 回答