Closed sliontc closed 3 years ago
Are you using jdk 9+? Looks like an issue in custom class loader. I'm working on 2.0 release which will fix this.
Now I use the new release 2.0, and service is up, but when I execute query in CK console, some error occured: 2020-12-24 15:50:34.034 [vert.x-eventloop-thread-0] [DEBUG] {JdbcBridgeVerticle:286} - [/columns_info] Parameters: connection_string: mssql schema: dbo table: t_expert external_table_functions_use_nulls: true
2020-12-24 15:50:34.034 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:344} - Raw query: t_expert 2020-12-24 15:50:34.034 [vert.x-eventloop-thread-0] [ERROR] {JdbcBridgeVerticle:321} - Failed to respond java.lang.IllegalArgumentException: NamedDataSource [mssql] does not exist! at ru.yandex.clickhouse.jdbcbridge.core.BaseRepository.get(BaseRepository.java:331) at ru.yandex.clickhouse.jdbcbridge.JdbcBridgeVerticle.getDataSource(JdbcBridgeVerticle.java:334) at ru.yandex.clickhouse.jdbcbridge.JdbcBridgeVerticle.getDataSource(JdbcBridgeVerticle.java:330) at ru.yandex.clickhouse.jdbcbridge.JdbcBridgeVerticle.handleColumnsInfo(JdbcBridgeVerticle.java:349) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1038) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:101) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:132) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.handler.impl.TimeoutHandlerImpl.handle(TimeoutHandlerImpl.java:45) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.handler.impl.TimeoutHandlerImpl.handle(TimeoutHandlerImpl.java:27) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1038) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:137) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:132) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.ext.web.handler.impl.ResponseContentTypeHandlerImpl.handle(ResponseContentTypeHandl
I'v config the datasource under the config/datasources.
After I use the git repo and build it, it found the datasource, but some other error occured: ![Uploading QQ20201224-184825.png…]()
Finally I'v start the bridge successfully. Thanks.
When I run the bridge, it failed with the error: 2020-08-20 10:14:32,932 [ main ] {JdbcBridge} - Starting jdbc-bridge
2020-08-20 10:14:32,975 [ main ] {ClickHouseDriver} - Driver registered
2020-08-20 10:14:32,979 [ main ] {JdbcDriverLoader} - Looking for driver files in /var/lib/clickhouse-jdbc-bridge
2020-08-20 10:14:32,980 [ main ] {JdbcDriverLoader} - Found 1 JAR file
2020-08-20 10:14:32,980 [ main ] {JdbcDriverLoader} - Looking for driver in file /var/lib/clickhouse-jdbc-bridge/mysql-connector-java-5.1.49.jar
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/Driver
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:514)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:422)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:416)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:415)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:427)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1211)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1222)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1266)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1301)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1386)
at ru.yandex.clickhouse.jdbcbridge.db.jdbc.JdbcDriverLoader.load(JdbcDriverLoader.java:61)
at ru.yandex.clickhouse.jdbcbridge.JdbcBridge.run(JdbcBridge.java:138)
at ru.yandex.clickhouse.jdbcbridge.JdbcBridge.main(JdbcBridge.java:67)
Caused by: java.lang.ClassNotFoundException: java.sql.Driver
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:435)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 20 more
It is really strange. The jdbc driver of mysql is from official site.