破解ODBC数据源管理器(64位)添加系统DNS不可见问题!

 

大家在开发过程中是否遇到过使用ODBC来操作Access数据库却运行失败的问题,今天小编按照MSDN文档指导,编写了一个简单的demo来测试一下,帮助大家解决运行过程中的报错问题。

01

添加数据源

这个解决办法据说是要在ODBC数据源管理器的系统DNS中添加一个数据源,下面进行添加,具体步骤如下:
在Windows工具中看见两个数据源,分别是32位与64位:
现在32位的东西都快绝迹了,所以想当然打开64位的,结果悲剧开始了。
打开后添加一个Access的数据源:
如图,什么数据源也没有:
于是再添加一次,结果显示已经存在:
但是,小编在Access中发现了自己创建的这些数据源:

02

添加32位数据源

小编在尝试使用64位数据源管理器无果后,转而选用了32位的数据源管理器,结果竟然成功了:
但在运行时还是在  connection.Open();这行代码上报错了:
继续找原因时小编被一个大哥的代码解救了,他没遇到上面那些问题,只是看见他的demo的连接字符串上多了一个Dns=xxx;。
按照他的做法在连接字符串上加了个Dns=AAA;代码成功运行,为什么MSDN的示例里面没有加这个。
但是刚才ODBC64位管理器添加系统DNS的问题还不清楚失败原因,首先小编怀疑是驱动的问题:既然是64位数据源管理器出问题了就重新下载了64位驱动。
https://www.microsoft.com/zh-cn/download/details.aspx?id=54920
下载后安装,真相大白了:安装了32位数据源就不能再安装64位数据源。

03

经验总结

小编的ODBC的Access驱动是32位的(这是因为之前在安装Office时误点了32位的exe),当小编尝试使用64位程序进行创建时,显然是不对的,但ODBC64位数据源管理器并未给出任何明确的提示或警告,让人非常困惑。
更令人费解的是,尽管创建过程似乎顺利完成了,但新创建的数据源并未显示在列表中,而在Access中却能看到其存在。这种软件行为令人摸不清头脑,让人难以找到问题的真正根源。
小编尝试在浏览器中搜索相关问题,但搜索结果并未给出清晰的解释,有些答案甚至只是碰巧解决了问题,并没有提供真正的解决方案。
其实到这里问题还没有完全解决,小编写这篇文章时想复现的错误也不报错了。
之后,去掉Dns=AAA;后照样能跑通。
通常来说,只要程序能够正常运行就可以,但是有时候就要有点不求甚解的态度,说不定下次就知道了原因,死磕容易伤害灵魂~
而在使用ODBC时,选择正确的驱动版本——到底是64位还是32位——是至关重要的。因为许多数据库都提供了ODBC驱动支持,对于微软而言,这无疑是一个亟待解决的问题。
最后,希望大家都不要遇到这种类似的问题。

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/35792.html

(0)
速盾高防cdn's avatar速盾高防cdn
上一篇 2024年4月26日 下午10:36
下一篇 2024年4月26日 下午10:40

相关推荐

  • 融合CDN,融合cdn 海外

    融合CDN:打造高效与稳定的网站体验 互联网时代,网站的速度和稳定性直接影响用户体验和企业的成功。而CDN(内容分发网络)作为一种加速网站性能的重要技术,正在越来越多地被企业所采用…

    2024年5月11日
    0
  • 六边形架构:管理复杂性的解决方案

    六边形架构是一种将外部系统与核心应用程序分离的架构模式。 六边形架构是什么? 六边形架构是一种架构模式,将外部系统与核心应用程序分隔开来。 其思想很简单。我们从一个六边形开始。然后…

    CDN资讯 2024年4月17日
    0
  • 高防CDN反向代理怎么配置?

    配置高防CDN的反向代理涉及将CDN作为源站的代理服务器,以便将用户请求转发到您的实际服务器。以下是一般步骤: 请注意,不同的CDN服务提供商可能会有不同的配置步骤和界面,因此在配…

    CDN资讯 2024年2月22日
    0
  • cdn 高防

    CDN(内容分发网络)高防技术在当前互联网环境中扮演着至关重要的角色,旨在提供强大的安全保护和性能优化。本文将深入探讨CDN高防的关键技术,为读者提供对其工作原理和优势的深刻理解。…

    CDN资讯 2024年1月31日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注