繁体   English   中英

如何将 Oracle .DMP 文件导入 SQL Server?

[英]How to Import Oracle .DMP file into SQL Server?

我有一个 .dmp 文件(oracle 数据),我必须将此文件导入 SQL Server 2008 R2。 我试过谷歌,但没有得到明确的解决方案。 Oracle 在另一台机器上,SQL Server 在另一台机器上。 这个 .DMP 文件只有表和数据,没有别的。
任何身体有任何想法?

你不能从这里到达那里。 Oracle 导出实用程序(经典或 DataPump)生成的文件(按照惯例,经常使用 DMP 扩展名)是专有的二进制文件。 它们只能由 Oracle 导入实用程序(经典或 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。

关于将数据从 Oracle 移动到 SQL Server有一个很好的 StackOverflow 线程。 如果您从 Oracle 拉取到 SQL Server 或从 SQL Server 推送到 Oracle,则 SSIS 逻辑非常相似。

SQL 无法读取 Oracle 转储。

根本不可能,但你有不同的解决方案

  1. SQL 服务器集成服务 (SSIS)
  2. oracle 和 SQL (Oracle Gateway) 之间的链接,但它适用于 SQL Ent。
  3. 将oracle中的数据以带分隔符的格式导出,然后插入到SQL中,但是如果数据量大的话会比较费时间。

当我遇到同样的问题时,我尝试手动调查格式(在我的情况下,转储文件是由 Oracle EXP 生成的)。 我找到:

  • 表定义来自 Oracle CREATE TABLE 语句,可以轻松转换为 MS SQL 格式
  • 大多数类型的数据都可以很容易地提取(文本“按原样”,数值根据IEEE 754 格式存储)
  • LOB 的存储方式很复杂,我没认出来

然后我找到了能够完成我的迁移任务的工具: https : //www.convert-in.com/ord2mss.htm

供应商说它可以将exp和expdp都迁移到sql server,但我仅在EXP格式上对其进行了测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM