当前位置: 首页 > 知识库问答 >
问题:

DriverManager尝试在连接到h2数据库时使用mariadb驱动程序

荀振国
2023-03-14

我正在做一些测试,得到了以下异常:

java.lang.IllegalArgumentException: Invalid connection URL url  dbc:h2:db/test
at org.mariadb.jdbc.JDBCUrl.parse(JDBCUrl.java:144)
at org.mariadb.jdbc.Driver.connect(Driver.java:95)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
Class.forName("org.h2.Driver"); //load h2 driver
String connectionUrl = "jdbc:h2:db/test";
Connection conn = DriverManager.getConnection(connectionUrl, "sa", "");

我还测试了一些与mariadb/MySQL相关的东西,因此除了h2驱动程序(eclipse项目)之外,mariadb驱动程序也在类路径上。如果我从类路径中删除mariadb驱动程序,连接就会正常工作。

据我所知,应该可以在类路径上有多个jdbc驱动程序,还是我理解错了?

(h2是1.3.176版本,mariadb-java-client是1.2.0)

共有1个答案

后树
2023-03-14

我可以确认这是mariadb-jdbc-driver中的一个bug

https://mariadb.atlassian.net/plugins/servlet/mobile#issue/conj-167

 类似资料:
  • 问题内容: 我遇到以下问题:当我尝试使用外部IP地址(PC的IP而不是本地IP的createTcpServer =在cmd.exe中运行ipconfig后我们看到的输出)时,发生以下错误: 服务器错误:异常打开端口“ 9092”(端口可能正在使用),原因:“ java.net.BindException:无法分配请求的地址:JVM_Bind” [90061-169] 但是,该端口未使用。我已经使用

  • 我正在使用Glassfish应用服务器开发一个web应用程序。我已经安装了H2 DB,现在正试图在glassfish中定义一个连接池,但在尝试ping DB时失败了。 以下是我所做的: > 资源类型:javax。sql。数据源 数据库驱动程序供应商:H2 数据源类名:org。h2.jdbcx。JdbcDataSource 我的“其他属性”包括: 用户:my\u db\u user 当我尝试ping

  • 我正在使用Heroku,并创建了一个新的应用程序和一个Postgres空数据库设置。 我已经安装了Heroku工具带,可以登录到Heroku并成功运行以下命令: 我在这里查看activerecord选项 但是,我运气不太好。 任何Heroku/Postgres大师能帮我指明正确的方向吗?数据库为空。作为第一步,我所要做的就是成功地连接到数据库。 Ruby文件:

  • 我的Grails应用程序在开发模式下使用h2数据库(Grails应用程序的默认行为)。中的DB连接设置是 我正在尝试使用IntelliJ IDEA的数据库客户端工具为此数据库建立连接。我开始这样创建连接 然后在下面的对话框中,输入JDBC URL 并选择“模式”上的所有可用数据库 “Test Connection”(测试连接)按钮表示成功,但从红色圆圈中可以看到,没有找到任何表格。似乎我已经正确地

  • 我一直在努力使用数据库URL概述部分提到的以下连接字符串从Spring Boot应用程序连接H2数据库: 我还尝试了许多不同的tcp(服务器模式)连接组合,但仍然出现错误,例如“连接中断:”java。网运行Spring Boot app时,SocketTimeoutException:连接超时:localhost:9092”。 那么,如何解决这个问题并通过服务器模式连接到H2数据库呢?