【问题标题】:Unable to connect to Oracle using SSMA for Oracle无法使用 SSMA for Oracle 连接到 Oracle
【发布时间】:2019-05-22 19:36:04
【问题描述】:

我正在尝试使用 Microsoft SSMA for Oracle 将数据库迁移到 Azure SQL,但无法进行。我已经仔细检查了服务器名称、服务器端口、Oracle SID、密码......一切。无论我使用哪种类型的输入屏幕,我都无法将其连接到本地 Oracle 实例。

我很确定登录信息都是正确的,我应该有一个到 Oracle 的有效连接器,因为我每天都从 TOAD 连接到它。我尝试按照previous posts 安装 Oracle 库,但不确定是否成功,因为问题仍然存在。 为了完成这项工作,我应该采取哪些故障排除步骤?

登录界面:

错误 1:

找不到指定的提供者。 在计算机上找不到兼容的 Oracle 数据访问连接库。您可以从 Oracle 产品媒体安装它们或从 Oracle 网站下载。

错误 2:

与 Oracle 的连接失败。 ORA-01017: 无效的用户名/密码;登录被拒绝

错误 3:

与 Oracle 的连接失败。 网络命名:未检测到或配置 LDAP 服务器

【问题讨论】:

    标签: oracle azure-sql-database


    【解决方案1】:

    经过几天的调试,我终于可以让 SSMA 工作了。此答案有助于记录我的解决方案以供个人使用,并希望将来回答其他任何人的问题。

    1. 查看list of prerequisites to have SSMA running 后,我发现我需要运行正确的Oracle 客户端。经过一些内部讨论后,SSMA 所需的 Oracle 客户端可能与我的计算机上用于 TOAD 的客户端不同。 TOAD 连接器的 .Net 提供程序可能对 SSMA 没有用处。
    2. 我们运行 Oracle 11g,但我必须安装 Oracle 12c,因为11g did not support Windows 10 apparently。这里没有太多障碍。
    3. 我找到了this guide to install Oracle client 12c pretty helpful.向我的母校致敬。
    4. 不幸的是,安装程序一直冻结,但using this former post,我能够使用 windows 命令绕过它:

    setup.exe -ignoreprereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"

    1. 之后,我在尝试连接 SSMA 时看到了不同的错误消息。我一直在尝试不同的登录选项,直到成功为止。提供者:OLEDB 提供者,模式:标准。
    2. 在被授予the appropriate permissions 之后,我终于能够访问我们的内部表和对象了。

    这是一个非常烦人的问题,一路上有很多兔子洞,但绝对值得,只需单击几下即可将我们所有的 Oracle 模式转换为 Azure SQL。希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      在安装 Microsoft SQL Server Migration Assistant for Oracle 之前,请确保验证下面提到的所有步骤。

      • 确保您已经安装了将托管迁移的数据库的 SQL Server 实例。另请注意,您安装的不是 SQL Server Express 版本来托管迁移的数据库。
      • 您必须拥有 sysadmin 帐户才能安装 SQL Server Migration Assistant for Oracle。
      • 确保在将在 SQL Server 上托管新迁移的数据库的服务器上安装 SSMA for Oracle。
      • 建议在运行 SQL Server 实例的目标系统上安装 Oracle 客户端软件。
      • 确保您的 Windows 服务器具有 Microsoft Windows Installer 3.1 或更高版本。端口 1434 应该打开。

      更多详情,您可以参考:How to Install SSMA for Oracle to Migrate Oracle Database to SQL Server

      这里是 Azure 数据库迁移指南:Migrate Oracle to Azure SQL Database。在准备迁移到云时,请确认您的源环境受支持并且您已满足所有先决条件。这将有助于确保高效且成功的迁移。

      使用 Oracle Client Provider 连接到 Oracle。

      Azure 还有其他方法可以帮助您将 Oracle 数据库迁移到 Azure SQL 数据库,例如使用 Azure 数据工厂。如果您仍然有连接错误。我想你可以尝试使用它。请参考本教程:Copy data from and to Oracle by using Azure Data Factory

      希望这会有所帮助。

      【讨论】:

      • 谢谢,看来我错过了很多使用 SSMA 的设置/验证步骤。 Github 信息太多,对我来说技术性太强,所以我先试试数据工厂方法。谢谢!
      • 不客气,@Yaga。很高兴我的回答能帮到你。希望您能接受,谢谢,祝您有美好的一天。
      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 2019-05-06
      • 2021-01-31
      • 2015-11-17
      • 2011-09-05
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多