Clickhouse jdbc 驱动程序连接问题
Clickhouse jdbc driver connection issue
我们正在尝试使用 jdbc 驱动程序连接到 clickhouse 服务器。我们的代码片段在 scala 中,在 java
中不会有太大不同
import java.util.Properties
Class.forName("ru.yandex.clickhouse.ClickHouseDriver")
var conn : Connection = null
try {
conn = DriverManager.getConnection("jdbc:clickhouse://xxxxxx:9001/db_name", "usrname", "pass")
val stmt = conn.createStatement()
val sql =s"""select 1""".stripMargin
stmt.executeQuery(sql)
} finally {
if(conn != null)
conn.close()
}
我们收到以下错误:
ClickHouseUnknownException: ClickHouse exception, code: 1002, host: xxxxxxx, port: 9001; xxxxxxxxx:9001 failed to respond
Caused by: NoHttpResponseException: xxxxxxxxx:9001 failed to respond
我们浏览了其他几页提到了同样的错误,为了与那里的建议保持一致,我们使用了最新版本的驱动程序 (0.3.1-patch)。
我们也用另一个驱动程序 (clickhouse-native-jdbc) 尝试了这个,但得到了同样的错误。
为了添加更多上下文,我们尝试使用带有以下代码片段的 python clickhouse-driver -
from clickhouse_driver import Client
conn = Client('xxxxxxxxxx', password='pass', port=9001, user='usrname', verify= False, secure=True)
q1 ="select * from db_name.table limit 5"
result = conn.execute(q1)
print(result)
这有效。
我们不确定这是否只是因为 ssl secure 设置为 true 而 verify 设置为 false。如果是这样,应该如何将这些添加到上面使用的驱动程序中?如果这不是原因,那可能是什么原因?
正如@AndreiKoch 在对该问题的评论中提到的,我们假设 jdbc 驱动程序将使用 9001,就像 python 中使用的 clickhouse-driver 一样:
https://clickhouse-driver.readthedocs.io/_/downloads/en/0.0.20/pdf/.
但是,本机 jdbc 驱动程序(在 scala 片段中使用)使用 HTTP 通过端口 8123。
我们正在尝试使用 jdbc 驱动程序连接到 clickhouse 服务器。我们的代码片段在 scala 中,在 java
中不会有太大不同import java.util.Properties
Class.forName("ru.yandex.clickhouse.ClickHouseDriver")
var conn : Connection = null
try {
conn = DriverManager.getConnection("jdbc:clickhouse://xxxxxx:9001/db_name", "usrname", "pass")
val stmt = conn.createStatement()
val sql =s"""select 1""".stripMargin
stmt.executeQuery(sql)
} finally {
if(conn != null)
conn.close()
}
我们收到以下错误:
ClickHouseUnknownException: ClickHouse exception, code: 1002, host: xxxxxxx, port: 9001; xxxxxxxxx:9001 failed to respond
Caused by: NoHttpResponseException: xxxxxxxxx:9001 failed to respond
我们浏览了其他几页提到了同样的错误,为了与那里的建议保持一致,我们使用了最新版本的驱动程序 (0.3.1-patch)。
我们也用另一个驱动程序 (clickhouse-native-jdbc) 尝试了这个,但得到了同样的错误。
为了添加更多上下文,我们尝试使用带有以下代码片段的 python clickhouse-driver -
from clickhouse_driver import Client
conn = Client('xxxxxxxxxx', password='pass', port=9001, user='usrname', verify= False, secure=True)
q1 ="select * from db_name.table limit 5"
result = conn.execute(q1)
print(result)
这有效。
我们不确定这是否只是因为 ssl secure 设置为 true 而 verify 设置为 false。如果是这样,应该如何将这些添加到上面使用的驱动程序中?如果这不是原因,那可能是什么原因?
正如@AndreiKoch 在对该问题的评论中提到的,我们假设 jdbc 驱动程序将使用 9001,就像 python 中使用的 clickhouse-driver 一样: https://clickhouse-driver.readthedocs.io/_/downloads/en/0.0.20/pdf/.
但是,本机 jdbc 驱动程序(在 scala 片段中使用)使用 HTTP 通过端口 8123。