破解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的头像速盾高防cdn
上一篇 2024年4月26日 下午10:36
下一篇 2024年4月26日 下午10:40

相关推荐

  • cdn是什么货币,cdn是干什么的

    在数字化时代,网站速度已成为决定在线业务成败的关键因素之一。许多人对于如何改善网站速度却感到困惑。CDN,即内容分发网络,是一个备受瞩目的解决方案。CDN究竟是什么货币呢?让我们深…

    2024年5月11日
    0
  • 揭秘系列: Goroutine调度器

    现在不要担心理解上面的图片,因为我们将从非常基础的知识开始。 Goroutines分布在线程中,由Goroutine调度器在幕后处理。根据我们之前的讨论,我们知道一些关于Gorou…

    CDN资讯 2024年4月16日
    0
  • 缓存技术的原理,类型,实际应用方法

    合理地使用缓存技术可以很好减少服务器网络延迟,让用户的网络体验更好,接下来将通过缓存策略的原理、常见的缓存类型、实际应用方法以及监控和调优等方面带你了解具体缓存技术是怎么减少网络延…

    CDN资讯 2024年3月26日
    0
  • 哪个cdn比较好,哪家cdn好用

    哪个CDN比较好?这是许多网站管理员和业务所有者在建立自己的在线存在时经常问的问题。在如今数字化的世界中,内容交付网络(CDN)是网站性能优化的重要组成部分。CDN的选择对网站的速…

    2024年5月11日
    0

发表回复

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