用于批量移动数据的SQLBulkCopy

时间:2010-08-23 07:12:49

标签: sql-server

我试图将数据从oracle批量移动到sql server。源表和目标表都具有相同的结构。其中一个字段是msgtimestamp,其余的是number和varchar字段。

我在调用bulkcopy.WriteToServer进行批量移动时收到以下错误  “给定的ColumnMapping与源或目标中的任何列都不匹配”

我尝试将source和dest的列名完全放在字段名称中,想知道它是否区分大小写但不起作用。

有人能帮帮我....

提前致谢。

此致 大豆

1 个答案:

答案 0 :(得分:0)

DateTime字段在Oracle和SQL Server之间具有不同的精度; oracle可以存储十亿分之一秒。)根据您的转移方式,您可能希望以两种方式之一进行此操作。

如果您使用openquery通过链接服务器从oracle机器获取数据,那么您可以使用PL_SQL函数TO_CHAR将足够轻松地处理转换。

从openquery中选择*(MyLinkedServer,'从双重选择TO_CHAR(systimestamp,''YYYY-MM-DD HH24:MI:SSXFF3'))

如果你是通过DTS或SSIS这样做的话,我会在oracle机器上创建一个视图,在那里转换列并对视图运行导入脚本。