问题描述
我们正在使用 Attunity 工具将数据从 MysqL 数据库插入到其他 MysqL 数据库中,并且在源数据库中定义为时间戳的列中的“0000-00-00 00:00:00”值存在问题。
Attunity 任务不返回任何错误信息,只会永远运行。
手册上有这句话: '如果 DATETIME 和 TIMESTAMP 数据类型指定为“零”值(即 0000-00-00),则需要确保复制任务中的目标数据库支持 DATETIME 和 TIMESTAMP 数据类型的“零”值.如果它们不受支持,您可以使用转换来指定支持的值(例如 1970)。否则,它们将在目标上被记录为 null。'
尽管如此,如果我尝试使用表达式构建器转换值,通过测试表达式函数是否有效,但通过运行相同的作业,没有错误消息只是运行t finish and doesn
不会插入任何值。
尝试在表达式生成器中正确使用以下函数: 替换($column_name,'0000-00-00 00:00:00','1000-01-01 00:00:00') 表达式生成器支持 sqlite 函数。
$column_name 的情况 = '0000-00-00 00:00:00' 然后 '1000-01-01 00:00:00' ELSE $column_name 结束
似乎attunity工具先插入数据失败,然后才执行操作,再晚也晚了。
将 attunity 中的数据类型转换为字符串也无济于事。
我想不出还有什么可以尝试的了。
你能帮忙吗?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)