无法使用SSMA for Oracle连接到Oracle

时间:2019-05-22 19:36:05

标签: oracle azure-sql-database

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

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

登录屏幕: enter image description here

错误1:

  

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

错误2:

  

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

错误3:

  

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

2 个答案:

答案 0 :(得分:0)

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

  • 确保您已经安装了SQL Server实例,该实例将托管迁移的数据库。另外请记住,您不是要安装SQL Server Express Edition来承载迁移的数据库。
  • 您必须具有sysadmin帐户才能为Oracle安装SQL Server迁移助手。
  • 确保在将要在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。 enter image description here

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

希望这会有所帮助。

答案 1 :(得分:0)

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

  1. 查看list of prerequisites to have SSMA running之后,我发现我需要运行一个正确的Oracle客户端。经过一些内部讨论,很可能所需的Oracle客户端SSMA与我的计算机上已有的TOAD有所不同。 TOAD连接器的.Net提供程序可能对SSMA没用。
  2. 我们运行Oracle 11g,但是由于11g did not support Windows 10 apparently,我不得不安装Oracle 12c。这里没有太多障碍。
  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。希望这会有所帮助!