用的是社区版,我配置Job是这样的。确定oceanbase中t1表存在。在执行的时候。总是抛异常说表不存在。这可能是什么原因引的。2024-01-26 10:00:52.321 [job-0] ERROR Engine -
经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-06], Description:[执行数据庿Sql 失败, 请检查您的配置的 column/table/where/querySql或者向 DBA 寻求帮助.]. - 执行的SQL丿 select from t1 where 1=2 具体错误信息为:com.alipay.oceanbase.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'test.t1' doesn't exist - com.alipay.oceanbase.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'test.t1' doesn't exist
麻烦帮忙看一下datax数据迁移的问题。
{
"job":{
"setting":{
"speed":{
"channel":32
},
"errorLimit":{
"percentage": 0.1
}
},
"content":[
{
"reader":{
"name":"mysqlreader",
"parameter":{
"username": "root",
"password":"123456",
"column":[""],
"connection": [
{
"table": ["t1"],
"jdbcUrl":["jdbc:mysql://192.168.1.17:3306/test"]
}
]
}
},
"writer":{
"name":"oceanbasev10writer",
"parameter":{
"writeMode":"insert",
"batchSize":5000,
"memstoreThreshold":"90",
"username":"root@mq_t1",
"password":"123456",
"column":["*"],
"preSql": [
"truncate table t1"
]
"connection": [
{
"jdbcUrl":"jdbc:oceanbase://192.168.50.104:2883/test",
"table": ["t1"]
}
]
}
}
}
]
}
}
根据你提供的DataX作业配置信息和错误日志,错误提示为Table 'test.t1' doesn't exist
,表明在OceanBase数据库中找不到名为t1
的表。但是你提到在OceanBase中已确认t1
表存在,那么这里可能存在以下几个问题:
数据库名称不一致:
你在配置OceanBase writer时,连接URL为jdbc:oceanbase://192.168.50.104:2883/test
,其中test
被认为是数据库名称。请确保这个test
数据库确实包含t1
表。
权限问题:
检查OceanBase数据库中当前登录用户(此处为root@mq_t1
)是否有访问test
数据库和t1
表的权限。
命名规范或大小写敏感问题:
OceanBase对于数据库名、表名是否大小写敏感取决于具体的创建方式和系统环境。请确保在配置文件中使用的表名大小写与实际数据库中的表名完全一致。
表存在于其他租户或集群:
OceanBase支持多租户架构,确保t1
表是在指定的连接URL指向的租户或集群中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。