ClickHouse / clickhouse-jdbc-bridge

A JDBC proxy from ClickHouse to external databases
Apache License 2.0
167 stars 60 forks source link

due to: SQLState(08001) VendorCode(0) No suitable driver found for jdbc:mysql:// #77

Closed toto1297488504 closed 3 years ago

toto1297488504 commented 3 years ago

[root@middleware ~]# java -jar ./clickhouse-jdbc-bridge-2.0.0-SNAPSHOT.jar /root/mysql-connector-java-5.1.44.jar 2020-12-09 17:16:36.036 [main] [INFO ] {Utils:837} - Loading JSON from file [config/vertx.json]... 2020-12-09 17:16:36.036 [main] [WARN ] {Utils:846} - Failed to load JSON from file config/vertx.json 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {Utils:837} - Loading JSON from file [config/server.json]... 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [WARN ] {Utils:846} - Failed to load JSON from file config/server.json 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:531} - Registering consumer to monitor configuration file(s) at [config/datasources] 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:531} - Registering consumer to monitor configuration file(s) at [config/schemas] 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:531} - Registering consumer to monitor configuration file(s) at [config/queries] 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {DefaultDataSourceManager:196} - Registering new type of datasource: [jdbc] -> [ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource] 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {DefaultDataSourceManager:200} - Default datasource type is set to [jdbc] 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {DefaultDataSourceManager:196} - Registering new type of datasource: [config] -> [ru.yandex.clickhouse.jdbcbridge.impl.ConfigDataSource] 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {DefaultDataSourceManager:196} - Registering new type of datasource: [script] -> [ru.yandex.clickhouse.jdbcbridge.impl.ScriptDataSource] 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {Utils:837} - Loading JSON from file [config/httpd.json]... 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [WARN ] {Utils:846} - Failed to load JSON from file config/httpd.json 2020-12-09 17:16:36.036 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:220} - Starting web server... 2020-12-09 17:16:36.036 [vert.x-worker-thread-1] [INFO ] {DefaultDataSourceManager:262} - No datasource configuration found 2020-12-09 17:16:36.036 [vert.x-worker-thread-1] [INFO ] {DefaultQueryManager:77} - No schema configuration found 2020-12-09 17:16:36.036 [vert.x-worker-thread-1] [INFO ] {DefaultQueryManager:76} - No query configuration found 2020-12-09 17:16:37.037 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:224} - Server http://0.0.0.0:9019 started in 803 ms 2020-12-09 17:16:43.043 [vert.x-eventloop-thread-0] [DEBUG] {JdbcBridgeVerticle:235} - [/ping] Context: {__body-handled=true} 2020-12-09 17:16:43.043 [vert.x-eventloop-thread-0] [DEBUG] {JdbcBridgeVerticle:236} - [/ping] Headers: Host: 192.168.106.102 Connection: Close

2020-12-09 17:16:43.043 [vert.x-eventloop-thread-0] [DEBUG] {JdbcBridgeVerticle:237} - [/ping] Parameters:

2020-12-09 17:16:43.043 [vert.x-eventloop-thread-0] [DEBUG] {JdbcBridgeVerticle:235} - [/] Context: {__body-handled=true} 2020-12-09 17:16:43.043 [vert.x-eventloop-thread-0] [DEBUG] {JdbcBridgeVerticle:236} - [/] Headers: Host: 192.168.106.102 Transfer-Encoding: chunked Connection: Close

2020-12-09 17:16:43.043 [vert.x-eventloop-thread-0] [DEBUG] {JdbcBridgeVerticle:237} - [/] Parameters: connection_string: jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?user=root&password=xxxxxxx columns: columns format version: 1 2 columns: int_id Int32 float Float32

max_block_size: 65505

2020-12-09 17:16:43.043 [vert.x-worker-thread-5] [DEBUG] {JdbcBridgeVerticle:342} - Generated query: SELECT int_id, float FROM test.test Normalized query: test 2020-12-09 17:16:43.043 [vert.x-worker-thread-5] [DEBUG] {ResponseWriter:44} - Start Time=1607505403823, Timeout=-1000, Max Block Size=65505 2020-12-09 17:16:43.043 [vert.x-worker-thread-5] [INFO ] {NamedDataSource:494} - Executing query(schema=[test]): SELECT int_id, float FROM test.test 2020-12-09 17:16:43.043 [vert.x-eventloop-thread-0] [ERROR] {JdbcBridgeVerticle:262} - Failed to respond ru.yandex.clickhouse.jdbcbridge.core.DataAccessException: Failed to access [jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?user=root&password=xxxxxxx] due to: SQLState(08001) VendorCode(0) No suitable driver found for jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?user=root&password=xxxxxxx at ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource.writeQueryResult(JdbcDataSource.java:586) at ru.yandex.clickhouse.jdbcbridge.core.NamedDataSource.executeQuery(NamedDataSource.java:506) at ru.yandex.clickhouse.jdbcbridge.JdbcBridgeVerticle.lambda$handleQuery$5(JdbcBridgeVerticle.java:392) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at ru.yandex.clickhouse.jdbcbridge.internal.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748) Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://xxx:3306/test?user=root&password=xxxxxxx at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:270) at ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource.getConnection(JdbcDataSource.java:357) at ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource.writeQueryResult(JdbcDataSource.java:567) ... 7 more

zhicwu commented 3 years ago

The Java CLI is incorrect. If you want to add mysql driver in classpath and use adhoc datasource, you may try below:

java -Djdbc-bridge.driver.loader=false -cp /root/mysql-connector-java-5.1.44.jar:`pwd`/clickhouse-jdbc-bridge-2.0.0-SNAPSHOT.jar:. ru.yandex.clickhouse.jdbcbridge.JdbcBridgeVerticle

I'll improve documentation. Meanwhile, before 2.0.0 release along with official docker images, I'd suggest you to take a look at #76 and use named datasource instead.

zhicwu commented 3 years ago

Close for no update.