我正在使用OLE DB命令任务来执行INSERT语句。 INSERT语句接受许多由?表示的参数。 SSIS将SQL Server DATETIME列映射到DT_DBTIMESTAMP类型的参数,我认为这很好。SSIS OLE DB命令日期参数格式
作为DT_DBTIMESTAMP被传递到SQL Server作为格式的字符串 'YYYY-MM-DD HH:MM:SS' 插入查询失败,但数据库期待 'DD/MM/YYYY HH:NN:SS' 。该错误是由于SQL Server以错误的方式处理“日”和“月”部分。
我见过使用派生列等对SSIS格式化日期格式化问题的回复,但我已经有了DT_DBTIMESTAMP值(它没有格式!),并且在SSIS将参数值设置为字符串时出现问题,并且我看不到如何控制格式,所以它输出'dd/MM/yyyy hh:mm:ss'。
我试过设置LocaleID和语言,但似乎仍然没有区别。一个有趣的观察是,只有通过SQL代理作业运行时才会发生此错误。
任何帮助非常感谢。
您试图插入的列的数据类型是什么?什么是您映射到参数的SSIS变量的数据类型? –
和你得到的错误信息是什么?也可以帮助顶层发布插入查询。我知道你觉得你已经隔离了这个问题,但是如果你花时间详尽地解决问题,答案会变得明显 –