ssis-execute sql task>date conversion参数传递datetime变量时的问题

neskvpey  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(258)

系统简介:
使用ssis包将数据从sql server移动到mysql。
我使用oledb连接连接到sqlserver。我使用odbcunicode连接到mysql。
大多数系统都可以工作,但我在将ssis变量传递到executeSQL任务时遇到了日期转换问题。它试图在mysql数据库的表中插入一个日期。我在尝试输入日期{1/1/2010 12:00:00 am}时出现以下错误。
“[execute sql task]错误:执行查询”insert into etldate values(?)“失败,出现以下错误:”[mysql][odbc 5.3(w)driver][mysqld-5.7.22-log]不正确的datetime值:“-10165-58296-9719 16613:13824:2136”,用于第1行的列”“lastteldate”“。”。可能的失败原因:查询有问题,“resultset”属性设置不正确,参数设置不正确,或者连接建立不正确
日期始终是“-10165-58296-9719 16613:13824:2136”,因此我知道值传递正确,只是转换或编码不同。这是我的参数设置。

最后的一些注意事项:
我尝试了参数的所有其他日期数据类型,得到了相同的问题。
我试过只使用参数而不是存储过程的直接insert语句,我也遇到了同样的问题。
所有将数据(包括日期)从SQLServerDB移动到mysql数据库的数据流任务都可以正常工作。
如果在SQLServerDB上创建一个类似的存储过程和表(为OLEDB连接更新了参数设置),它就可以正常工作。
有人知道为什么日期被错误地传递了吗?或者有没有人能解决这个问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题