为了通过ODBC从32位软件连接到64位数据库(Oracle / DB2 / Postgresql/ Server),我需要32位数据库客户端还是只需要32位ODBC驱动程序就够了。
作为Oracle的一个例子,当我安装Oracle Server ( 32位ODBC管理员)时,不一定有Oracle的条目,因为32位ODBC驱动程序不存在。为了连接,我必须安装32位Oracle客户端,之后我可以看到ODBC条目。
因此,我的问题是,为了从32位应用程序连接到64位数据库,我需要32位数据库客户端(瘦/满)还是只有一个32位ODBC驱动程序可以安装来建立连接。
发布于 2014-06-06 19:54:35
您使用的客户端取决于您正在使用的客户端计算机的体系结构,而不是服务器。
IIRC,使用Oracle,您需要安装客户机和ODBC驱动程序。客户端实际上处理到数据库的连接,而ODBC层将ODBC转换为客户端理解的内容。
我假设其他平台是相似的,尽管有些数据库提供了一个统一的客户端安装程序,可以同时安装客户机和ODBC驱动程序。
在使用ODBC时,重要的是使用与客户端应用程序匹配的ODBC体系结构。例如,如果您正在使用x86 Access,则需要32位ODBC驱动程序和客户端。
发布于 2014-06-06 19:57:50
设置到Oracle的SQL链接服务器时,我安装了:
驱动程序架构应该与机器体系结构相匹配。在我的例子中,它是64位Windows,所以我使用了64位驱动程序(win64_11gR2_client.zip)。
然后我运行了。协助并设置oracle配置(host/port/user/pass/service name)。确保您在这里通过了连接测试。这将配置您的(%path%\product\11.2.0\client_1\network\admin\tnsnames.ora)文件tnsnames.ora
如果无法连接,请查看sqlnet.ora文件。在成功连接之前,我不得不修改我的SQLNET.AUTHENTICATION_SERVICES= (NONE)。
然后我运行ODBC来使用中的同名设置来设置一个系统DSN。助理。
发布于 2014-06-07 16:56:32
以下内容对于Oracle是有效的,我不知道它是否也适用于其他RDBMS。
数据库服务器和客户端是相互独立的,即您可以与32位Oracle客户端连接到64位Oracle数据库服务器。
但是ODBC驱动程序和Oracle客户端的体系结构必须匹配,即32位ODBC驱动程序只能与32位Oracle客户端工作,64位ODBC驱动程序需要64位Oracle客户端。此限制也适用于其他提供程序,如OLE DB或ODP。
当然,64位Oracle客户端需要64位Windows。在64位Windows上安装32位Oracle客户端没有问题.
还可以在同一台计算机上同时安装32位和64位Oracle客户端(以及ODBC驱动程序的两种体系结构)。然而,你必须做一些“技巧”,使他们两者无缝工作。
https://stackoverflow.com/questions/24089494
复制相似问题