gpt4 book ai didi

c# - .NET 未检测到任何 SQL Server 实例

转载 作者:太空狗 更新时间:2023-10-29 21:33:10 26 4
gpt4 key购买 nike

一段时间以来,我一直在使用 .NET 4.5.1 和 SQL Server 2012 Express 在 Windows 8.1 设备上开发 C#/SQL Server 应用程序。一切都完美无缺。最近Visual Studio 2015已经发布,决定升级。我还决定也升级我的 SQL Server 2012,所以我备份了所有内容,将其卸载并安装了 SQL Server 2014 Express。配置完所有内容并恢复数据库备份后,一切仍然在本地工作,因为数据库连接数据仍然存在于存储的应用程序设置中。

当我在另一台设备上测试应用程序时,我发现它无法再连接到 SQL Server 实例,也无法使用

System.Data.DataTable instances = SqlDataSourceEnumerator.Instance.GetDataSources();

应用程序也无法在我的开发机器上检测到 SQL Server 实例,我认为这很奇怪,因为它正在本地 运行。然而,其他几个设备可以检测到 SQL Server,所以我认为它不是与防火墙相关的程序。 SQL 引擎服务和浏览器服务都处于事件状态。

我决定升级到 Windows 10,重置它(全新安装,没有安装任何 SQL Server 程序)并再次运行我的应用程序,因为我的网络中还有其他计算机在运行 SQL Server,希望它能检测到那些。它没有。 GetDataSources() 方法会在一瞬间返回一个空的 DataTable,而其他设备需要几秒钟来检测实例并返回正确的列表。

更愚蠢的是 ODBC 数据源管理器确实检测到那些网络实例,让我认为它是一个 .NET 相关程序。

总结:两台设备未检测到任何 SQL Server 实例(甚至是本地的),而网络中的其他设备检测到。

最佳答案

我决定使用 this ODBC implementation因为它工作正常并且可以实现异步/等待更新,所以它不会阻塞 UI。

在选择此实现之前,我还研究了另一个使用 SqlDataSourceEnumerator 类的项目,该项目运行良好。其目标框架属性设置为 .NET Framework 2.0。我发现当 .NET 目标版本为 3.5 或更低时,SqlDataSourceEnumerator 给出了预期的结果(在我的机器上)。 .NET 实现中的某些内容可能随着时间的推移发生了变化,导致它在某些特定条件下停止工作。

编辑: 在我的机器上,我再次安装了 SQL Server 2012,一切(除了检测,将使用 ODBC)再次正常工作。我要感谢大家的意见。

关于c# - .NET 未检测到任何 SQL Server 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31996058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com