我创建了一个使用 SQL Server 2008 R2 Express 作为其后端的 WPF 应用程序。使用 EF,我通过发出一个Objectcontext.CreateDatabase()
方法来构建我的数据库。此方法(在某些工作站上)会导致 SQL Server 错误 26 - 查找指定的服务器/实例时出错。
我的安装例程验证 SQL Server Express 依赖项并相应地安装。我的 SQL Server Express 默认实例 ( .\SQLEXPRESS
) 是我的目标实例,并且在运行我的应用程序的机器上是本地的。
我可以使用 Windows 身份验证和以下服务器名称使用 SQL Server Management Studio 登录:
(local)\SQLEXPRESS, .\SQLEXPRESS, and CLASS8\SQLEXPRESS
所有这些实例名称都适用于 SSMS,并且我可以在 SSMS 中发出命令而不会出现任何问题。但是,我的应用程序失败并出现错误 26。
此设置适用于我的开发工作站(Win 7 Pro),但在运行 Win 7 Pro 的 VirtualBox 中失败。我已经完成了所有 SQL Server 设置,并认为我已经将它们配置为相同。
遇到此问题的 VirtualBox VM 上的 Windows 防火墙已被禁用,因此它不应该是被阻止的 UDP 数据包......
我的问题可能是什么原因?
更新
清理和重建我的项目解决了这个问题。