有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Java DBCP连接到Cassandra

我使用Apache公共DBCP库中的“BasicDataSource”类和DataStax驱动程序“com.simba.Cassandra.jdbc42.driver”通过Java连接到Cassandra数据库。当Cassandra配置了“验证器” 设置为“AllowAllAuthenticator”,我可以连接到数据库。但是,当我启用“PasswordAuthenticator”并在“BasicDataSource”对象中设置用户名/密码时,我无法连接并获得异常“主机/IP地址上的身份验证错误:端口:主机/IP地址:端口需要身份验证,但在群集配置中找不到身份验证程序”。建立安全连接需要什么


共 (1) 个答案

  1. # 1 楼答案

    我已经回答了我自己的问题。对于具有相同问题的任何人,解决方案是在JDBC连接字符串中包含选项“AuthMech=1”,因为它是经过身份验证的连接所需要的。以下内容摘自《Simba Cassandra JDBC驱动程序与SQL连接器》安装和配置指南:

    “AuthMech

    此属性指定驱动程序是连接到Cassandra还是Astra数据库, 以及驱动程序是否验证连接

    • 0:驱动程序连接到Cassandra数据库而不验证 连接
    • 1:驱动程序连接到Cassandra数据库,并验证 使用用户名和密码进行连接
    • 2:驱动程序连接到Astra数据库,并验证连接 使用用户名、密码和安全连接捆绑包。"

    参考:https://docs.datastax.com/en/driver-matrix/doc/latestSimbaCassJDBCDriver.html(第31页)