我有一个.dmp文件(oracle数据),我必须将此文件导入SQL Server 2008 R2。我试过谷歌但没有明确的解决方案。 Oracle在其他机器上,而SQL Server在其他机器上。这个.DMP文件只有表格和数据,只有其他内容 任何人都有任何想法吗?
答案 0 :(得分:9)
你不能从这里到达那里。 Oracle导出实用程序(经典或DataPump)生成的文件(按照惯例,经常使用DMP扩展)是专有的二进制文件。它们只能由Oracle导入实用程序(classic或DataPump)使用,它只允许您将数据加载到另一个Oracle数据库中。
您可以将DMP文件加载到新的Oracle数据库中,但是您仍然需要将数据从Oracle移动到SQL Server。忽略DMP文件并直接从原始Oracle数据库中提取可能更容易。有许多工具可用于将数据从Oracle数据库移动到SQL Server数据库。如果希望SQL Server控制进程,则可以使用SQL Server Integration Services(SSIS)。您还可以在SQL Server中创建引用Oracle数据库的链接服务器,并通过该连接对Oracle数据库编写查询。如果您希望Oracle推送数据,您还可以使用Oracle透明网关和异构服务来创建从Oracle到SQL Server的数据库链接,并针对远程SQL Server数据库发出SQL。
moving data from Oracle to SQL Server上有一个很好的StackOverflow线程。如果您从Oracle迁移到SQL Server或从SQL Server推送到Oracle,那么SSIS逻辑非常相似。
答案 1 :(得分:0)
SQL无法读取Oracle Dumps。
不可能,但是您有不同的解决方案
答案 2 :(得分:0)
当我遇到同样的问题时,我尝试手动调查格式(在我的情况下,转储文件是由 Oracle EXP 生成的)。我发现:
然后我找到了能够完成我的迁移任务的工具:https://www.convert-in.com/ord2mss.htm
供应商说它可以将exp和expdp都迁移到sql server,但我只在EXP格式上测试过。