oracle - 无法使用 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 服务器
解决方案
经过几天的调试,我终于可以让 SSMA 工作了。这个答案有助于记录我的个人使用解决方案,并希望将来能回答其他人的问题。
- 查看运行 SSMA 的先决条件列表后,我发现我需要运行正确的 Oracle 客户端。经过一些内部讨论后,SSMA 所需的 Oracle 客户端可能与我的计算机上用于 TOAD 的客户端不同。TOAD 连接器的 .Net 提供程序可能对 SSMA 没有用处。
- 我们运行 Oracle 11g,但我不得不安装 Oracle 12c,因为11g 显然不支持 Windows 10。这里没有太多的障碍。
- 我发现这个安装 Oracle 客户端 12c 的指南非常有帮助。向我的母校致敬。
- 不幸的是,安装程序保持冷冻,但使用这个以前的帖子,我能够用 windows 命令绕过它:
setup.exe -ignoreprereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"
- 之后,我在尝试连接 SSMA 时看到了不同的错误消息。我一直在尝试不同的登录选项,直到成功为止。提供者:OLEDB 提供者,模式:标准。
- 在被授予适当的权限后,我终于能够访问我们的内部表和对象。
这是一个非常烦人的问题,一路上有很多兔子洞,但绝对值得,只需单击几下就可以将我们所有的 Oracle 模式转换为 Azure SQL。希望这可以帮助!
推荐阅读
- mobile - Flutter TextFormField如何手动添加onChange属性
- hibernate - 相同属性的休眠 hql 多案例语句
- php - 日期格式为 2019-06-17T9:45:04Z
- c++ - 使用 ifstream 对象设置故障位,可能是什么原因?
- python - 如何解决安装pytorch时出现的错误
- javascript - 鼠标进出超时
- c# - ASP.NET MVC 创建一个包含每个用户列表的变量?
- javascript - 捕获从任何服务发送的所有错误客户端
- android - 在 AsyncTask 中发送电子邮件时如何修复错误
- javascript - 在 Angular 7 中处理二维数组。ngFor