【发布时间】:2015-10-23 11:25:11
【问题描述】:
在我的应用程序中,我使用 SqlDataSourceEnumerator.Instance.GetDataSources() 来枚举本地网络上的 sql 服务器。
我有 VS 2010 pro 和 Sql Server 2008 R2 Express 和 SSMS 2008 R2 Express 和 VS 2013 Pro。一切都很好。然后我安装了 VS 2015 Community Edition,删除了 VS 2013 Pro。然后我的应用程序和 SSMS 开始为枚举本地网络上的 sql 服务器返回任何内容。 然后我删除(通过程序和功能卸载)与 Sql Server 2008 R2 Express 相关的所有内容并重新安装,但这次安装的是 SSMS 2014 Express Edition 而不是 SSMS 2008 R2 快车。
现在我有 VS 2010 Pro(我应该至少保留一段时间)和 Sql Server 2008 R2 Express 和 SSMS 2014 Express 和 VS 2015 社区版。 即使我使用面向 .Net 4.0 的 VS 2010 Pro 或 VS 2015 构建我的应用程序,我的应用程序也无法枚举 sql 服务器。 SSMS 2014 也不能。 但是在命令行 osql -L 和 sqlcmd -L 上列举了我本地网络上的 sql 服务器。 SSMS 2014可以看到我的本地Sql Server 2008 R2并无缝连接。
我使用 sql server 配置管理器来启用 tcp/ip 和命名管道,默认端口为 1433,登录模式为混合等。甚至确保 windows 防火墙允许 sql 端口并且 sql server 浏览器正在运行。
我无法用 SqlDataSourceEnumerator.Instance.GetDataSources() 计算 sql server 并且 SSMS 也看不到网络 sql server 的原因是什么?
【问题讨论】:
-
-相同的应用程序在另一台没有 .net 4.6 的计算机上正常运行
-
.Net 4.6 有一个错误,它破坏了所有 4.x 运行时版本的 GetDataSources。请让 MS 知道您也遇到此问题,以便他们解决:Microsoft connect
标签: sql-server visual-studio-2010 sql-server-2008-r2 visual-studio-2015