mysql - Attunity 零时间戳值插入 mySQL DB
问题描述
我们正在使用 Attunity 工具将 mySQL 数据库中的数据插入到其他 mySQL 数据库中,并且在源数据库中定义为时间戳的列中的“0000-00-00 00:00:00”值存在问题。
Attunity 任务不返回任何错误消息,只会永远运行。
手册中有这样一句话:'如果DATETIME和TIMESTAMP数据类型指定了“零”值(即0000-00-00),则需要确保复制任务中的目标数据库支持“零” DATETIME 和 TIMESTAMP 数据类型的值。如果它们不受支持,您可以使用转换来指定支持的值(例如 1970)。否则,它们将在目标上记录为空。
尽管如此,如果我尝试使用表达式生成器转换值,通过测试表达式函数的工作原理,但是通过运行相同的行为,没有错误消息只是运行不会t finish and doesn
插入任何值。
尝试了以下在表达式生成器中正确工作的函数:replace($column_name, '0000-00-00 00:00:00','1000-01-01 00:00:00') 表达式生成器支持 SQLite 函数。
CASE WHEN $column_name = '0000-00-00 00:00:00' THEN '1000-01-01 00:00:00' ELSE $column_name END
似乎 attunity 工具首先插入数据失败,然后执行操作,然后为时已晚。
将 attunity 中的数据类型转换为字符串也无济于事。
我没有什么可以尝试的想法了。
你能帮忙吗?
谢谢
解决方案
推荐阅读
- python - 如何在保留有效位数的同时在 Python 中将“0.00”读取为数字?
- reactjs - 从 GraphQL 查询数据后如何将数据存储为 React 状态?
- asp.net-core-2.0 - 如何禁用:授权属性自动登录用户
- html - 带布尔玛的固定柱
- java - 使用更新的 javac 编译为 Java 8 编译的 Java 源代码会更有效吗?
- r - 如何使用writeJPEG从R中嵌套数组中所有元素的平均值再现图像
- windows - 我得到“项目无法打开:访问路径被拒绝”
- java - 使用接口的客户端-服务器连接
- java - Java 11 Spring Boot java.lang.ClassNotFoundException:com.sun.xml.ws.api.server.SDDocumentSource$3
- javascript - 可以在 IF 语句中从函数声明变量吗?