DataWorks离线同步如何处理表列名是关键字导致同步任务失败的情况?
问题场景: 进行同步任务时,需要同步的表的列名是关键字,导致同步任务失败。解决方案:关键字需要添加转移符,向导模式配置任务请通过脚本模式配置任务,在column配置中手动添加转移符。MySQL的转义符为关键字。
Oracle和PostgreSQl的转义符为"关键字"。
SQlServer的转义符为[关键字]。以MySQL数据源为例:执行下述语句,新建一张表aliyun。create table aliyun (table int ,msg varchar(10));
执行下述语句,创建视图,为table列取别名。create view v_aliyun as select table as col1,msg as col2 from aliyun;说明table是MySQL的关键字,在数据同步时,拼接出来的代码会报错。因此需要通过创建视图,为table列起别名。不建议使用关键字作为表的列名。通过执行上述语句,为有关键字的列取列名。在配置同步任务时,选择v_aliyun视图代替aliyun表即可。
https://help.aliyun.com/document_detail/146663.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。