我试图将数据从oracle批量移动到sql server。源表和目标表都具有相同的结构。其中一个字段是msgtimestamp,其余的是number和varchar字段。
我在调用bulkcopy.WriteToServer进行批量移动时收到以下错误 “给定的ColumnMapping与源或目标中的任何列都不匹配”
我尝试将source和dest的列名完全放在字段名称中,想知道它是否区分大小写但不起作用。
有人能帮帮我....
提前致谢。
此致 大豆
答案 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机器上创建一个视图,在那里转换列并对视图运行导入脚本。