Excel 2010 32 位 windows 7 64 位 odbc- 连接问题

Posted

技术标签:

【中文标题】Excel 2010 32 位 windows 7 64 位 odbc- 连接问题【英文标题】:Excel 2010 32-bit windows 7 64-bit odbc- Connection Issue 【发布时间】:2012-08-21 13:42:50 【问题描述】:

我们有一个 Excel 电子表格,它通过 vba odbc 连接(用户名和密码 *'d)连接到 Sage

Set CN = New ADODB.Connection
With CN
    .Provider = "MSDASQL"
    .ConnectionString = "DSN=SageLine132;UID=******;PWD=******;"
    .CursorLocation = adUseClient
    .Open
End With

此连接在我们的装有 office 2010 的 32 位 windows xp 计算机上运行良好,但在运行 office 2010 32 位的新 windows 7 64 位计算机上运行良好。 当我在syswow64 文件夹,系统 DSN 已安装。有没有人对此有任何解决方法或无需访问系统 DSN (DSN-Less) 即可连接的方法?

【问题讨论】:

嗨,杰米。这个问题在programmers.SE上是题外话,很可能会被关闭或迁移。请查看我们的常见问题解答 :) 此外,您应该考虑编辑标题,以便说明您的问题。就目前而言,可能很少有人会阅读它。 看看这个网站:connectionstrings.com 【参考方案1】:

我怀疑这与存储在syswow32/syswow64/ 中的可执行文件有关。

我从未使用过 Sage,但我之前在 64b 系统上遇到过 MyODBC 驱动程序的问题,这里的解决方案可能会对您有所帮助:

对于 win 64b 用户(XP、win7),为了访问您的 MyODBC 驱动程序 (或任何其他数据库驱动程序),您需要从 %windir%\SysWOW64\odbcad32.exe.

要使更改永久生效,您可以在控制面板中添加一个新的数据源图标(必须从资源管理器中执行此操作,因为它会提示您确认),将其命名为 Data Sources x64,并将其指向 %windir%\SysWOW64\odbcad32.exe

全文见here。

【讨论】:

以上是关于Excel 2010 32 位 windows 7 64 位 odbc- 连接问题的主要内容,如果未能解决你的问题,请参考以下文章

C++ 操作Excel

C++ 操作Excel

C++ 操作Excel

从 Excel 应用程序对象中查找位数(32 位/64 位)?

Windows 7、64 位、DLL 问题

Windows 7、64 位、DLL 问题