使用datax做postgresql到postgresql的数据迁移,报错连接数据库失败-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用datax做postgresql到postgresql的数据迁移,报错连接数据库失败

2017-10-25 12:57:54 14002 6

很奇怪的现象是:始终说Reader的数据库是 Available jdbcUrl,然而Writer就会报错:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:java.sql.SQLException: No suitable driver found for ["jdbc:postgresql://127.0.0.1:5432/XXXXXX"]。

即使我将配置文件中的writer和reader连接信息互换,依然会报writer连接失败,reader连接正常。

分别将两个数据库作为reader 写到streamwriter 也没有问题 能print出结果

说明两个数据库本身没有问题 配置的连接信息也没有问题 那问题出在哪里呢???
-----2017/10/26----
今天又用mysqlwriter测试了,问题依然存在?

配置内容如下
{

"job": {
    "content": [
        {
            "reader": {
                "name": "postgresqlreader", 
                "parameter": {
                    "column": ["name","disp","data"], 
                    "connection": [
                        {
                            "jdbcUrl": ["jdbc:postgresql://139.XXX.XXX.XX:5432/XXXXX"], 
                            "table": ["sys_lic"]
                        }
                    ], 
                    "password": "XXXXXXX", 
                    "username": "XXXXXX"
                }
            }, 
            "writer": {
                "name": "postgresqlwriter", 
                "parameter": {
                    "column": ["name","disp","data"], 
                    "connection": [
                        {
                            "jdbcUrl": ["jdbc:postgresql://127.0.0.1:5432/XXXXXX"], 
                            "table": ["sys_lic"]
                        }
                    ], 
                    "password": "XXXXXX", 
                    "username": "XXXXXXX"
                }
            }
        }
    ], 
    "setting": {
        "speed": {
            "channel": "1"
        }
    }
}

}

报错信息如下
2017-10-25 12:45:15.502 [main] WARN Engine - prioriy set to 0, because NumberFormatException, the value is: null
2017-10-25 12:45:15.505 [main] INFO PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2017-10-25 12:45:15.506 [main] INFO JobContainer - DataX jobContainer starts job.
2017-10-25 12:45:15.516 [main] INFO JobContainer - Set jobId = 0
2017-10-25 12:45:16.049 [job-0] INFO OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:postgresql://139.XXX.XXX.XX:5432/XXXXXX.
2017-10-25 12:45:16.168 [job-0] INFO OriginalConfPretreatmentUtil - table:[sys_lic] has columns:[name,disp,data].
2017-10-25 12:45:16.301 [job-0] ERROR RetryUtil - Exception when calling callable, 异常Msg:Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:java.sql.SQLException: No suitable driver found for ["jdbc:postgresql://127.0.0.1:5432/XXXXXX"]
com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:java.sql.SQLException: No suitable driver found for ["jdbc:postgresql://127.0.0.1:5432/XXXXXX"]

at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.RdbmsException.asConnException(RdbmsException.java:36) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.connect(DBUtil.java:394) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.connect(DBUtil.java:384) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.access$000(DBUtil.java:22) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil$3.call(DBUtil.java:322) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil$3.call(DBUtil.java:319) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.common.util.RetryUtil$Retry.call(RetryUtil.java:164) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.common.util.RetryUtil$Retry.doRetry(RetryUtil.java:111) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.common.util.RetryUtil.executeWithRetry(RetryUtil.java:30) [datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getConnection(DBUtil.java:319) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getConnection(DBUtil.java:303) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.JdbcConnectionFactory.getConnecttion(JdbcConnectionFactory.java:27) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.writer.util.OriginalConfPretreatmentUtil.dealColumnConf(OriginalConfPretreatmentUtil.java:105) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.writer.util.OriginalConfPretreatmentUtil.dealColumnConf(OriginalConfPretreatmentUtil.java:140) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.writer.util.OriginalConfPretreatmentUtil.doPretreatment(OriginalConfPretreatmentUtil.java:35) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Job.init(CommonRdbmsWriter.java:41) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.writer.postgresqlwriter.PostgresqlWriter$Job.init(PostgresqlWriter.java:33) [postgresqlwriter-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.initJobWriter(JobContainer.java:704) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:304) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.start(Engine.java:92) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.entry(Engine.java:171) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.main(Engine.java:204) [datax-core-0.0.1-SNAPSHOT.jar:na]
取消 提交回答
全部回答(6)
  • 1810745617128173
    2020-01-12 22:25:51

    老哥,我也是writer 数据库连接失败,reader数据库连接正常,mysql的也开启了远程访问权限什么的,不知道什么原因导致的,你最后问题解决了嘛

    0 0
  • 1109482304117166
    2019-11-20 16:16:51

    沃特么的服了.. 我要是这么写吧报错 :java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List

    "connection": [
      {
          "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/autoee_v3",
          "table": [
              "ac_form_config_copy"
          ]
      }
    ]
    

    我要是这么写吧:就报java.sql.SQLException: No suitable driver found for

    "connection": [
      {
          "jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/autoee_v3"],
          "table": [
              "ac_form_config_copy"
          ]
      }
    ]
    

    一脸蒙逼状....

    0 0
  • 搞么罗
    2019-07-17 21:40:59

    数据库迁移教程,参考:https://yq.aliyun.com/articles/709185

    1 0
  • 1765464239546905
    2019-07-17 21:40:59

    我也遇到同样的问题,解决方法是:根据数据库版本,更改plugin文件下相应的驱动包;
    注意:读写插件文件下都要根据具体数据库修改。

    2 0
  • 1413107620284601
    2019-07-17 21:40:59

    writer的配置jdbcurl配置有问题。话说这个异常抛的不是很好啊。!

    0 1
  • 1358010561380964
    2019-07-17 21:40:58

    我也遇到同样的问题,解决方法是:
    mysqlwriter中的jdbcUrl不能使用[]中括号括起来,应该是只能有一个写入的库

    可以参考官网的例子
    https://github.com/alibaba/DataX/blob/master/mysqlwriter/doc/mysqlwriter.md

    具体写法如下:
    "writer": {

                    "name": "mysqlwriter",
                    "parameter": {
                        "writeMode": "insert",
                        "username": "root",
                        "password": "root",
                        "column": [
                           "id","moduleid"
                        ],
                       
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/autoee_v3",
                                "table": [
                                    "ac_form_config_copy"
                                ]
                            }
                        ]
                    }
                }
    3 0
滑动查看更多
相关问答

18

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1047275浏览量 回答数 18

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226238浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337099浏览量 回答数 8

111

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295678浏览量 回答数 111

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646880浏览量 回答数 18

33

回答

Win Server 2003-2016 加密勒索事件必打补丁合集

妙正灰 2017-05-15 10:44:38 280442浏览量 回答数 33

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 259907浏览量 回答数 38

21

回答

请教一下数据量有100万条左右要什么配置?

易网网络 2013-03-27 15:18:02 192664浏览量 回答数 21

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305702浏览量 回答数 249

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204426浏览量 回答数 2
+关注
0
文章
1
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载