试图找出我们应用程序中的 SQL 连接错误 26。
我们有两个密切相关的应用程序 Foo 和 FooAddIn。Foo 是一个在 VS2010 中构建的 Winforms 应用程序,运行良好,可以很好地连接到我们的 SQLExpress 后端。
FooAddIn 是一个 Outlook 插件,它引用 Foo.exe 并连接到同一个 SQL Express 实例。或者更确切地说,它没有连接,而是报告:
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)
现在,两个应用程序共享相同的连接字符串,我们已经验证它们确实共享相同的连接字符串。
在这个阶段,我们只是在同一台开发人员机器上进行测试,所以应用程序在同一台机器上,通过同一个 VS2010 IDE 运行。
所以很多关于这个错误的在线建议并不适用,因为 Foo 连接到 SQL Express 的事实告诉我们数据库在那里并且可用并且可以访问。
还有什么要检查的?一件事是 Foo 和 FooAddIn 运行不同的运行时版本System.Data
(v2.0.50727 和 v4.0.30319)。这可能是一个因素吗?