【问题标题】:SQL Server Management Studio Import Data from Oracle BadImageFormatExceptionSQL Server Management Studio 从 Oracle BadImageFormatException 导入数据
【发布时间】:2019-04-05 15:44:45
【问题描述】:

在尝试使用 SQL Server Management Studio 导入和导出向导将数据从 Oracle 11g 数据库导入我的 SQL Server 数据库时,我在测试与配置的 Oracle 数据源的连接时遇到了错误。我在向导中选择了“.Net Framework Data Provider for Oracle”作为“数据源”。

下面是错误日志的粘贴和屏幕截图:

操作无法完成。

尝试加载 Oracle 客户端库会引发 BadImageFormatException。在安装了 32 位 Oracle 客户端组件的 64 位模式下运行时会出现此问题。 (System.Data.OracleClient)

我的计算机上安装了 Oracle Instant Client 18.3,64 位版本,并且我在 PATH 环境变量中包含了 Instant Client 的路径。

【问题讨论】:

    标签: sql-server oracle11g ssms


    【解决方案1】:

    事实证明,此错误是由于 SQL Server Management Studio 与 64 位版本的 Oracle 客户端存在问题所致。因此,解决方法是安装 32 位版本的 Oracle 客户端并指向该安装

    以下是我解决错误所遵循的具体步骤:

    1. 我在我的计算机上安装了 Oracle Instant Client 12.2(目前是最新的 32 位版本的 Oracle Instant Client)

    2. 然后我将这个 32 位客户端的安装路径添加到我的 PATH 环境变量中。

    3. 我重新启动了 SQL Server Management Studio

    完成此操作并重新打开导入和导出向导后,我就能够无缝连接到我的 Oracle 数据库,并继续完成将数据从 Oracle 数据库中的表迁移到我的 SQL Server 数据库中的表.

    我使用的连接字符串格式如下:

    Data Source=$ORACLE_DB_HOST:$PORT/$SERVICE_NAME;User Id=$USERNAME
    

    【讨论】:

      【解决方案2】:

      您可以使用“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft SQL Server 2016”中提供的 SQL Server 2016 导入和导出数据(64 位),这与 Oracle 客户端 64 位完美配合。

      【讨论】:

        猜你喜欢
        • 2012-07-06
        • 2010-12-12
        • 2010-11-10
        • 1970-01-01
        • 2011-11-18
        • 2011-04-10
        • 1970-01-01
        • 2014-04-24
        • 1970-01-01
        相关资源
        最近更新 更多