将数据库表从SQL Server复制到Oracle

将数据库表从SQL Server复制到Oracle,sql,oracle,sql-server-2008,Sql,Oracle,Sql Server 2008,可能重复: 是否可以将SQL Server中的表复制到Oracle中的新表 我很确定这是不可能的,但我希望得到专家的确认,以及它是否存在 CREATE TABLE `backup_db.backup_table` SELECT * FROM `live_db.live_table`; 编辑 更清楚地说,我需要每天将此表从SQL Server复制到Oracle 我知道它不优雅,但我别无选择。 不直接,但您可能需要考虑设置SQLServer代理作业,以便将表转储到一个平面文件上,然后该文件

可能重复:

是否可以将SQL Server中的表复制到Oracle中的新表

我很确定这是不可能的,但我希望得到专家的确认,以及它是否存在

CREATE TABLE `backup_db.backup_table` 
  SELECT * FROM `live_db.live_table`;
编辑

更清楚地说,我需要每天将此表从SQL Server复制到Oracle


我知道它不优雅,但我别无选择。

不直接,但您可能需要考虑设置SQLServer代理作业,以便将表转储到一个平面文件上,然后该文件可以在文件系统上访问Oracle。然后Oracle可以将其作为外部表进行访问。

您可以:

  • 使用MS SSIS并使用SSIS包及其计划执行(MS SQL Server代理)将数据从SQL Server传输到Oracle

  • 使用Oracle Transparent Gateway for MS SQL Server,不要从MS SQL Server中实际提取数据,而是在Oracle中需要时从MS SQL中选择数据。或者,Oracle每天插入一次,以便使用透明网关和链接的MS SQL Server将数据从MS SQL传输到Oracle:

    截断表OracleTable
    插入到OracleTable中,从中选择*SQLServerTable@SQLServer
    承诺


  • 不,它不存在。迁移工具是正确的答案。你的设计有缺陷。我知道,但我必须接受这两个数据库。感谢您的评论。如果MS SQL Server是事务性数据库,而Oracle用于数据挖掘和报告,那么这是有意义的。但无论如何,您都需要一个ETL工具。没有比你的例子更简单的方法。如果你需要每天从SQL Server把数据推到甲骨文,检查一下SQL Server复制的特性。好的,我会在下一天尝试你的解决方案,这是一个很好的解决方法,我会考虑这个可能性。