Sql server 用于批量移动数据的SQLBulkCopy

Sql server 用于批量移动数据的SQLBulkCopy,sql-server,Sql Server,我正在尝试将大量数据从oracle移动到sql server。源表和目标表都具有相同的结构。其中一个字段是msgtimestamp,其余的是number和varchar字段 当调用bulkcopy.WriteToServer进行批量移动时,我收到以下错误 给定的ColumnMapping与源或目标中的任何列都不匹配 我试着把source和dest的列名完全作为字段名,想知道它是否区分大小写,但不起作用 有人能帮我吗 提前谢谢 问候,, Soja日期时间字段在Oracle和SQL Server之间

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

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

我试着把source和dest的列名完全作为字段名,想知道它是否区分大小写,但不起作用

有人能帮我吗

提前谢谢

问候,,
Soja

日期时间字段在Oracle和SQL Server之间具有不同的精度;甲骨文可以存储十亿分之一秒。取决于你是如何进行调动的,你可能希望通过以下两种方式之一进行调动

如果您使用openquery通过链接服务器从oracle机器获取数据,那么您可以使用PL_SQL函数,以确保CHAR能够非常轻松地处理转换

从openqueryMyLinkedServer中选择*,'从dual中选择至\u CHARsystimestamp,YYYY-MM-DD HH24:MI:SSXFF3'


如果您是通过DTS或SSI执行此操作,我将在oracle计算机上创建一个视图,在该视图中转换列,并针对该视图运行导入脚本。

是否尝试使用列索引而不是名称进行映射?也可以使用列的索引进行映射。请参阅ColumnMapping类的构造函数