繁体   English   中英

通过Excel连接到Oracle数据库

[英]Connecting to Oracle Database through Excel

我正在尝试从Excel工作表连接到服务器上的Oracle数据库,但无法理解原因。

我目前在不同的ORACLE_HOME安装 32位和64位Oracle 12c,并且在我的64位计算机上安装了32位Excel。

我正在尝试使用“ 新建查询”向导连接到Excel中的Oracle数据库。

新查询向导

当我单击来自Oracle数据库时 ,出现以下错误/消息。

错误

我可以继续使用当前的提供程序,但是当我实际上尝试连接到数据库时,我得到了:

错误

我不明白的是为什么在计算机上同时安装32位和64位版本的Oracle 12c时出现此错误。 两者都包含在我的PATH变量中(第一个32位),并且我还包括一个特定的ORACLE_HOMETNS_ADMIN来指向我的32位安装,因为我的Excel是32位。

我真的很希望能够通过Excel从数据库查询,但是这个问题使我感到困惑。

编辑

我还刚刚将Oracle主目录中的ODBC驱动程序添加到ODBC数据源管理员工具中。

在此处输入图片说明

目前可以通过此工具进行连接。

在此处输入图片说明

但是,当我尝试通过ODBC连接向导进行连接时 ,我知道得到以下信息: 在此处输入图片说明

有任何想法吗?

您如何安装32位和64位Oracle Client?

请查看以下指令: BadImageFormatException。 在安装了32位Oracle客户端组件的64位模式下运行时,会发生这种情况

简洁版本:

您的excel是32位的,您尝试使用32位的Oracle。 我假设您启动64位版本的“ ODBC管理器”-可能不匹配。 或者您的PATH关于%ORACLE_HOME%和/或%ORACLE_HOME%\\bin文件夹的问题

长版:

您的Excel是32位的,因此通常您将32位的客户端放入PATH进行了正确的选择,对于ORACLE_HOME ,您不能在一个进程中混合使用32位和64位程序集。 顺便说一句,当您按照上面的说明进行操作时,Windows将自动对其进行管理。

我假设您安装了Oracle Instant Client。 默认的Instant Client不包含任何ODBC驱动程序或Oracle Data Provider(ODP.NET, Oracle.DataAccess.Client

ODBC

您可能有2个ODBC驱动程序,一个来自Oracle,通常称为OraClient12_home1中的Oracle ,另一个来自Microsoft,称为Microsoft ODBC for Oracle (应在Windows的默认安装中安装,但它也需要一个Oracle Client)。

Oracle的ODBC驱动程序适用于32位和64位,而Microsoft驱动程序仅适用于32位。 您有2位ODBC管理员:32位(运行c:\\Windows\\SysWOW64\\odbcad32.exe )和64位(运行c:\\Windows\\System32\\odbcad32.exe )。 在那里,您应该看到已安装的32位驱动程序。 64位。

Oracle数据提供程序

对于数据提供者,您有类似的情况。 您有一个来自Microsoft( 针对Oracle的Microsoft .NET Framework数据提供程序System.Data.OracleClient )和来自Oracle( 针对.NET的Oracle数据提供程序Oracle.DataAccess.Client ,多个版本)。 两者均适用于32位和64位。

原则上,使用哪种驱动程序/提供程序连接到Oracle都没有关系-只是架构(即32位和64位)必须匹配。 每个驱动程序/提供程序都需要根据Oracle Client安装。 Microsoft的所有驱动程序/提供程序已被弃用,您应该首选Oracle驱动程序/驱动程序(如警告消息中所述)

其他

Oracle还提供了ODP.NET托管驱动程序 ,它不需要任何其他Oracle Client安装,并且可以在32位和64位上运行。 但是,我不知道您是否可以在Excel中使用它。

最后但并非最不重要的一点,您还具有OLE DB提供程序。 再次来自Microsoft( 针对Oracle的Microsoft OLE DB提供程序 )和来自Oracle( 针对OLE DB的Oracle提供程序 )。 Microsoft提供程序仅适用于32位,并且已弃用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM