gpt4 book ai didi

.net - 当安装程序未创建标准 DSN 时,如何在 64 位 Server 2008 上使用 32 位 ODBC 驱动程序?

转载 作者:行者123 更新时间:2023-12-03 10:24:00 25 4
gpt4 key购买 nike

我遇到了一些我们用来跟踪计算机实验室中软件许可证使用情况的第三方软件的问题。我们最近将应用程序迁移到 64 位 Server 2008,在收到公司保证它是兼容的并运行一些初步测试后,表明该应用程序可以在 64 位环境中运行。不幸的是,进行测试的人没有测试我拥有的几个应用程序的功能,这些应用程序依赖于访问数据对数据进行实时和后处理以生成一些报告。

事实证明,该应用程序没有 64 位 ODBC 驱动程序来访问其内部数据,并且无法使用 64 位 SQL Server ODBC 驱动程序将其数据导出到 SQL Server。它确实包含并安装了 32 位 ODBC 驱动程序,但它将其安装为用户数据源,而不是系统数据源,这意味着我运行实时集合的 Windows 服务无法找到它。我也无法创建系统 DSN,因为数据源管理控制台找不到安装的驱动程序。

我的问题是如何为这个连接配置一个数据源,我可以从在系统帐户下运行的 C#/.NET Windows 服务访问它?

由于我已经找到了一种方法,我将提供我的解决方案作为答案(与 FAQ 关于如何回答您自己的问题一致)。

相似:
What software exists for bridging a 64-bit ODBC app to a 32-bit ODBC driver on windows?

最佳答案

事实证明,您可以使用 C:\Windows\SysWOW64\odbcad32.exe 创建 32 位 ODBC 连接。 .我的解决方案是创建 32 位 ODBC 连接作为系统 DSN。这仍然不允许我连接到它,因为 .NET 无法查找它。在寻找如何让 OdbcConnection 类在正确的位置查找 DSN 进行了大量但毫无结果的搜索之后,我偶然发现了一个网站,该网站建议修改注册表以解决​​不同的问题。

我最终直接在 HKLM\Software\ODBC 下创建了 ODBC 连接.我查看了 SysWOW6432 key 以找到使用 32 位版本的 ODBC 管理工具设置的参数,并在标准位置重新创建了它。但是,我没有为驱动程序添加条目,因为该应用程序的标准安装程序也未安装该条目。

创建条目(手动)后,我启动了我的 Windows 服务,一切都很愉快。

关于.net - 当安装程序未创建标准 DSN 时,如何在 64 位 Server 2008 上使用 32 位 ODBC 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1134827/

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