首页 > 解决方案 > 无法使用 SSMA for Oracle 连接到 Oracle

问题描述

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

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

登录屏幕:<a href="https://i.stack.imgur.com/GvbqN.png" rel="nofollow noreferrer">在此处输入图像描述

错误一:

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

错误2:

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

错误 3:

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

标签: oracleazure-sql-database

解决方案


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

  1. 查看运行 SSMA 的先决条件列表后,我发现我需要运行正确的 Oracle 客户端。经过一些内部讨论后,SSMA 所需的 Oracle 客户端可能与我的计算机上用于 TOAD 的客户端不同。TOAD 连接器的 .Net 提供程序可能对 SSMA 没有用处。
  2. 我们运行 Oracle 11g,但我不得不安装 Oracle 12c,因为11g 显然不支持 Windows 10。这里没有太多的障碍。
  3. 我发现这个安装 Oracle 客户端 12c 的指南非常有帮助。向我的母校致敬。
  4. 不幸的是,安装程序保持冷冻,但使用这个以前的帖子,我能够用 windows 命令绕过它:

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

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

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


推荐阅读