我一直在开发控制台应用程序 (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() 中给出以下异常:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
我做错了什么?
SQL Server Agent 和 SQL Server Browser 都处于“已启动”状态。使用 SQL Server Compact Edition 真的很重要吗?
最佳答案
对于 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 documentation有关 System.Data.SqlServerCe
命名空间
关于c# - SQL Server 精简版 4.0 : Error: 26 - Error Locating Server/Instance Specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16874746/