我正在尝试为 AS400 设置 IBM 数据复制到 MySQL。对于目标 MySQL,它现在是最新的 MySQL 8.0.20 Community Server。我已经很好地测试了 JDBC 连接。但是,CDC 实例从未启动(通过测试从 8.0.9rc 到 8.0.20 的 MySQL Jdbc 连接)。在 Windows 中,实例已添加但未启动。某些操作已完成,但无法在 RHEL 中添加实例。但是,日志错误消息完全相同。
- IBM InfoSphere CDC 访问服务器 (11.4.0.2 - 11016)
- IBM InfoSphere Data Replication for MySQL (11.4.0.2 - 5548) 备注:RHEL / Windows 2016 测试环境都面临相同的结果
仅对于 8.0.9rc 到 8.0.11,它可能会尝试连接并返回错误。
- 格式错误的数据库 URL,无法解析主要 URL 部分。
由于 1.8 的 JRE/JDK 提供了 IBM,我已经为设置设置了正确的 JAVA_HOME、PATH。有什么线索吗?我已经尝试了连接字符串:(在 Windows / Linux Access Server + IIDR 上)
- jdbc:mysql://127.0.0.1:3306/testdb
- jdbc:mysql://127.0.0.1:3306/testdb?useSSL=false
- jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false
- jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT
实际上,它提供了相同的结果。我试图用 jdbc 输入错误:mysql://127.0.0.1:3306/testdb&useSSL=false
然后,它可以返回语法错误。有没有人有任何线索?是否与 JDBC VS Java 版本兼容性问题有关?
详细的 Java 日志消息: 36 2020-06-07 11:21:51.335 main{1} com.datamirror.ts.engine.ReplicationExecutive startup() 监控统计数据库错误:发生 SQL 异常。SQL 错误代码为“0”。SQL 状态为:08001。错误消息为:|Cannot load connection class because of underly exception: com.mysql.cj.core.exceptions.WrongArgumentException: Malformed database URL, failed to parse the main URL section.†com.datamirror .ts.monitoragent.statistics.MonitorStatisticsPbException 监控统计数据库错误:发生 SQL 异常。SQL 错误代码为“0”。SQL 状态为:08001。错误消息为:|无法加载连接类,因为基础异常:com.mysql.cj.core.exceptions.WrongArgumentException:数据库 URL 格式错误,无法解析主要 URL 部分。| 在 com.datamirror.ts。monitoragent.statistics.MonitorStatisticsDatabase.openConnection(MonitorStatisticsDatabase.java:616)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.(MonitorStatisticsDatabase.java:129)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.monitorStatsCollectOn(MonitoringStatistics.java:162)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.(MonitoringStatistics.java:145)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.start(MonitoringStatistics.java:177)| 在 com.datamirror.ts.engine.ReplicationExecutive.init(ReplicationExecutive.java:430)| 在 com.datamirror.ts.engine.ReplicationExecutive.startup(ReplicationExecutive.java:244)| 在 com.datamirror.ts.commandlinetools.script.Startup.executeUtility(Startup.java:92)| 在 com.datamirror.ts.commandlinetools。shared.BaseUtility.entryPoint(BaseUtility.java:267)| 在 com.datamirror.ts.commandlinetools.script.Startup.main(Startup.java:105)|原因:java.sql.SQLNonTransientConnectionException 由于基础异常无法加载连接类:com.mysql.cj.core.exceptions.WrongArgumentException : 格式错误的数据库 URL,无法解析主要 URL 部分。| 在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:108)| 在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)| 在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)| 在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)| 在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)| 在 com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping。translateException(SQLExceptionsMapping.java:79)| 在 com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:131)| 在 com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:232)| 在 java.sql.DriverManager.getConnection(DriverManager.java:675)| 在 java.sql.DriverManager.getConnection(DriverManager.java:258)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.createConnection(MonitorStatisticsDatabase.java:765)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.openConnection(MonitorStatisticsDatabase.java:569)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.(MonitorStatisticsDatabase.java:129)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.monitorStatsCollectOn(MonitoringStatistics。爪哇:162)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.(MonitoringStatistics.java:145)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.start(MonitoringStatistics.java:177)| 在 com.datamirror.ts.engine.ReplicationExecutive.init(ReplicationExecutive.java:430)| 在 com.datamirror.ts.engine.ReplicationExecutive.startup(ReplicationExecutive.java:244)| 在 com.datamirror.ts.commandlinetools.script.Startup.executeUtility(Startup.java:92)| 在 com.datamirror.ts.commandlinetools.shared.BaseUtility.entryPoint(BaseUtility.java:267)| 在 com.datamirror.ts.commandlinetools.script.Startup.main(Startup.java:105)|原因:com.mysql.cj.core.exceptions.UnableToConnectException 由于底层异常无法加载连接类:com.mysql.cj .core.exceptions.WrongArgumentException:数据库 URL 格式错误,无法解析主要 URL 部分。| 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)| 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:83)| 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)| 在 java.lang.reflect.Constructor.newInstance(Constructor.java:437)| 在 com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:60)| 在 com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:99)| 在 com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:232)| 在 java.sql.DriverManager.getConnection(DriverManager.java:675)| 在 java.sql.DriverManager.getConnection(DriverManager.java:258)| 在 com.datamirror.ts。monitoragent.statistics.MonitorStatisticsDatabase.createConnection(MonitorStatisticsDatabase.java:765)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.openConnection(MonitorStatisticsDatabase.java:569)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.(MonitorStatisticsDatabase.java:129)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.monitorStatsCollectOn(MonitoringStatistics.java:162)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.(MonitoringStatistics.java:145)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.start(MonitoringStatistics.java:177)| 在 com.datamirror.ts.engine.ReplicationExecutive.init(ReplicationExecutive.java:430)| 在 com.datamirror.ts.engine.ReplicationExecutive.startup(ReplicationExecutive.java:244)| 在 com.datamirror.ts.commandlinetools.script.Startup.executeUtility(Startup.java:92)| 在 com.datamirror.ts.commandlinetools.shared.BaseUtility.entryPoint(BaseUtility.java:267)| 在 com.datamirror.ts.commandlinetools.script.Startup.main(Startup.java:105)|原因:com.mysql.cj.core.exceptions.WrongArgumentException 数据库 URL 格式错误,无法解析主要 URL 部分。| 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)| 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:83)| 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)| 在 java.lang.reflect.Constructor.newInstance(Constructor.java:437)| 在 com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:60)| 在 com. mysql.cj.core.conf.url.ConnectionUrlParser.parseConnectionString(ConnectionUrlParser.java:140)| 在 com.mysql.cj.core.conf.url.ConnectionUrlParser.(ConnectionUrlParser.java:130)| 在 com.mysql.cj.core.conf.url.ConnectionUrlParser.parseConnectionString(ConnectionUrlParser.java:119)| 在 com.mysql.cj.core.conf.url.ConnectionUrl.getConnectionUrlInstance(ConnectionUrl.java:197)| 在 com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:202)| 在 java.sql.DriverManager.getConnection(DriverManager.java:675)| 在 java.sql.DriverManager.getConnection(DriverManager.java:258)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.createConnection(MonitorStatisticsDatabase.java:765)| 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.openConnection(MonitorStatisticsDatabase.java:第569章 在 com.datamirror.ts.monitoragent.statistics.MonitorStatisticsDatabase.(MonitorStatisticsDatabase.java:129)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.monitorStatsCollectOn(MonitoringStatistics.java:162)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.(MonitoringStatistics.java:145)| 在 com.datamirror.ts.monitoragent.statistics.MonitoringStatistics.start(MonitoringStatistics.java:177)| 在 com.datamirror.ts.engine.ReplicationExecutive.init(ReplicationExecutive.java:430)| 在 com.datamirror.ts.engine.ReplicationExecutive.startup(ReplicationExecutive.java:244)| 在 com.datamirror.ts.commandlinetools.script.Startup.executeUtility(Startup.java:92)| 在 com.datamirror.ts.commandlinetools.shared.BaseUtility.entryPoint(BaseUtility.java:267)| 在 com.datamirror.ts.commandlinetools。