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

时间:2012-10-10 12:25:41

标签: sql oracle sql-server-2008

  

可能重复:
  Moving Data from SQL Server to Oracle Repeatedly

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

我很确定这是不可能的,但我想要专家确认以及如果它存在。

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

修改

为了更清楚,我需要每天将此表从SQL Server复制到Oracle。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

你可以:

  1. 使用MS SSIS并使用SSIS包及其预定执行(MS SQL Server代理)将数据从SQL Server传输到Oracle。

  2. 使用Oracle透明网关进行MS SQL Server,不要从MS SQL Server中物理提取数据,而是每次在Oracle中需要时从MS SQL中选择数据。或者,Oracle仍然每天插入一次,以便使用透明网关和链接的MS SQL Server将数据从MS SQL传输到Oracle:

    TRUNCATE TABLE OracleTable
    INSERT INTO OracleTable SELECT * FROM SQLServerTable @ SQLServer
    COMMIT