SQL Server Compact Edition 4.0:错误:26 - 查找指定的服务器/实例时出错
Posted
技术标签:
【中文标题】SQL Server Compact Edition 4.0:错误:26 - 查找指定的服务器/实例时出错【英文标题】:SQL Server Compact Edition 4.0: Error: 26 - Error Locating Server/Instance Specified 【发布时间】:2013-06-01 16:26:01 【问题描述】:我一直在开发控制台应用程序(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 - 错误定位服务器/指定的实例)
我在这里做错了什么?
SQL Server 代理和 SQL Server Browser 都处于“已启动”状态。使用 SQL Server Compact Edition 真的很重要吗?
【问题讨论】:
【参考方案1】:对于 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 documentation
【讨论】:
谢谢。这解决了我的问题。这是我第一次使用 SQL Compact。 ^-^以上是关于SQL Server Compact Edition 4.0:错误:26 - 查找指定的服务器/实例时出错的主要内容,如果未能解决你的问题,请参考以下文章
从 SQL Server Compact 4.0 迁移到 SQL Server Express 后提供程序错误
SQL Server 可以复制到 SQL Server Compact Edition 吗?
SQL Server Express 和 SQL Server Compact Edition
从使用 SQL Server Express 切换到 SQL Server Compact
SQL Server Compact Edition 和 SQL Server 2008 Management Studio