2016-06-08 110 views
0

我有一个Oracle数据库,其表Customers我只有只读访问权限。我想复制此表中的某些列,并将其插入到名为Customers的SQL Server 2008 R2表中,仅当目标表中不存在该标识时。从Oracle数据库插入缺少的记录到SQL Server数据库中

我是C#的新手....我可以使用Oracle.DataAccess成功打开并从Oracle读取,我可以写入SQL Server,但是我迷失于如何从Oracle读取然后写入SQL Server。我能找到的所有例子都是针对相同类型的数据库。

+0

创建两个连接:一个连接到一个Oracle DB,另一个连接到一个MSSQL DB。或者,如果这是一次性的事情,在MSSQL中创建一个链接服务器...并简单地写一个查询 –

+0

不是一次性的事情,我有一个连接到每个数据库,问题是如何首先比较结果以找到id需要复制,然后如何复制到内存中写回SQL?我可能在这里错过了一个概念。仅在SQL中,我会执行一个连接并插入,但由于来自不同源的两个DB,我不知道从哪里开始。 – Mobilemike

+0

如果源表不是太大,则可以使用SQL Management Studio中的导入导出向导复制整个表,然后使用一些tsql插入缺失的行。这在后台使用SSIS,这是这项工作的理想工具。 –

回答

0

我想跟进这一点,尽管在这里和其他地方提供了许多创造性的解决方案,但没有足够有效的方法来完成这项任务。在大多数情况下,我都必须读取两个非常大的表的全部内容,然后检查缺少的记录,而没有真正联接的性能优势。我决定采用混合模式,应用程序从主数据库中获取基本信息,然后读写SQL Server中的补充信息。

相关问题