尽管我已经安装了驱动程序,但无法将 Excel 连接到 Oracle。 (使用 Excel 的 PowerQuery)
Can't connect Excel to Oracle although I already installed the drivers. (Using Excel's PowerQuery)
我已经尝试了一段时间,通过 PowerPivot 将 Excel 连接到 Oracle,但遗憾的是没有成功。
我目前收到此错误:An error happened while reading data from the provider. 'Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.'
。
到目前为止,我已经完成了以下操作:
1.已安装 Oracle 客户端 x64
我从 https://www.oracle.com/database/technologies/112010-win64soft.html 安装了 Oracle Client x64。我使用了文件 win64_11gR2_client.zip
。在安装过程中,我选择了选项 InstantClient
2。安装了 Oracle 的 ODBC Instant Client x64
我去了 https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html 并下载了 instantclient-basic-windows.x64-19.6.0.0.0dbru.zip
和 instantclient-odbc-windows.x64-19.6.0.0.0dbru.zip
。我 'installed' 通过将它们解压缩到同一个文件夹中,并且 运行 odbc_install.
然后,我将该目录添加到我的路径环境变量中,然后创建一个名为 TNS_ADMIN 的新目录并添加相同的目录。
3。安装了 Oracle 的 ODBC Instant Client x32
最后我对 x32 文件做了同样的事情,但是我没有将该目录添加到我的环境变量中。
我通过在此处找到驱动程序验证了正确的安装:
x64 驱动程序:
x32 驱动程序:
帮助解决问题
令人沮丧的是,除了错误消息之外,我找不到任何方法来解决此问题。关于它可能是什么的任何想法?关于如何排除故障的任何想法?
谢谢!
使用 32 位 Oracle Instant 客户端
带有 ODBC 驱动程序的选项 1
没有 ODBC 驱动程序和 ODAC 客户端的选项 2
选项 1: 安装 32 位 odbc 驱动程序后,尝试仅将 32 位即时客户端添加到路径,或者如果将两个客户端都添加到系统路径,请确保 32 位客户端在上面64 位客户端
如果系统路径中的顺序设置正确,您可以在命令提示符下使用 where
命令
进行验证
C:\WINDOWS\system32>where sqlplus
D:\instantclient_19_6_x86\sqlplus.exe
D:\instantclient_19_6_x64\sqlplus.exe
或使用命令 path
C:\WINDOWS\system32>path
PATH=D:\instantclient_19_6_x86;D:\instantclient_19_6_x64;xxxxx
如果设置正确可以通过odbc连接File--->From Other Sources --> From ODBC
选项 2: 使您能够在没有 ODBC 驱动程序的情况下通过 ODAC 客户端连接到数据库File--->From Database --> From Oracle Database
从 Oracle 下载 ODAC 32 位 ODP.NET_Managed_ODAC122cR1.zip。
解压文件夹并从elevated command prompt
安装
D:\ODP.NET_Managed_ODAC122cR1>install_odpm.bat D:\instantclient_19_6_x86 x86 true
这里我将目标目录设置为 32 位即时客户端,即 D:\instantclient_19_6_x86
编辑:在tnsnames.ora和tns_admin系统变量中添加tns名称条目
我,e TNS_ADMIN= D:\instantclient_19_6_x86\network\admin
我已经尝试了一段时间,通过 PowerPivot 将 Excel 连接到 Oracle,但遗憾的是没有成功。
我目前收到此错误:An error happened while reading data from the provider. 'Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.'
。
到目前为止,我已经完成了以下操作:
1.已安装 Oracle 客户端 x64
我从 https://www.oracle.com/database/technologies/112010-win64soft.html 安装了 Oracle Client x64。我使用了文件 win64_11gR2_client.zip
。在安装过程中,我选择了选项 InstantClient
2。安装了 Oracle 的 ODBC Instant Client x64
我去了 https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html 并下载了 instantclient-basic-windows.x64-19.6.0.0.0dbru.zip
和 instantclient-odbc-windows.x64-19.6.0.0.0dbru.zip
。我 'installed' 通过将它们解压缩到同一个文件夹中,并且 运行 odbc_install.
然后,我将该目录添加到我的路径环境变量中,然后创建一个名为 TNS_ADMIN 的新目录并添加相同的目录。
3。安装了 Oracle 的 ODBC Instant Client x32
最后我对 x32 文件做了同样的事情,但是我没有将该目录添加到我的环境变量中。
我通过在此处找到驱动程序验证了正确的安装:
x64 驱动程序:
x32 驱动程序:
帮助解决问题
令人沮丧的是,除了错误消息之外,我找不到任何方法来解决此问题。关于它可能是什么的任何想法?关于如何排除故障的任何想法?
谢谢!
使用 32 位 Oracle Instant 客户端
带有 ODBC 驱动程序的选项 1
没有 ODBC 驱动程序和 ODAC 客户端的选项 2
选项 1: 安装 32 位 odbc 驱动程序后,尝试仅将 32 位即时客户端添加到路径,或者如果将两个客户端都添加到系统路径,请确保 32 位客户端在上面64 位客户端
如果系统路径中的顺序设置正确,您可以在命令提示符下使用 where
命令
C:\WINDOWS\system32>where sqlplus
D:\instantclient_19_6_x86\sqlplus.exe
D:\instantclient_19_6_x64\sqlplus.exe
或使用命令 path
C:\WINDOWS\system32>path
PATH=D:\instantclient_19_6_x86;D:\instantclient_19_6_x64;xxxxx
如果设置正确可以通过odbc连接File--->From Other Sources --> From ODBC
选项 2: 使您能够在没有 ODBC 驱动程序的情况下通过 ODAC 客户端连接到数据库File--->From Database --> From Oracle Database
从 Oracle 下载 ODAC 32 位 ODP.NET_Managed_ODAC122cR1.zip。
解压文件夹并从elevated command prompt
安装
D:\ODP.NET_Managed_ODAC122cR1>install_odpm.bat D:\instantclient_19_6_x86 x86 true
这里我将目标目录设置为 32 位即时客户端,即 D:\instantclient_19_6_x86
编辑:在tnsnames.ora和tns_admin系统变量中添加tns名称条目
我,e TNS_ADMIN= D:\instantclient_19_6_x86\network\admin