使用d2rq遇到的数据库连接问题[重复]

Posted

技术标签:

【中文标题】使用d2rq遇到的数据库连接问题[重复]【英文标题】:Database connection problem encountered using d2rq [duplicate] 【发布时间】:2021-08-22 03:10:45 【问题描述】:

当我将mysql中的数据转换成RDF时,使用generate-mapping -u root -p 123456 -o kg_demo_movie_mapping.ttl "jdbc:mysql:///kg_demo_movie?useSSL=false&serverTimezone=UTC" 时报错。加载类com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'。驱动是通过SPI自动注册的,一般不需要手动加载驱动类。数据库异常(E0)。 我的 MySQL 版本是 8.0.11。根据网上的说法,我把5.1.47的jar包放到d2rq/lib下还是报同样的错误,现在不知道怎么办了,谢谢大家帮忙。

【问题讨论】:

【参考方案1】:

那条消息有点令人费解。部分原因似乎是您正在使用的应用程序正在显式加载 JDBC 驱动程序...已弃用1。但它也说你(它)应该使用 MySQL Connector/J 8.x JDBC 驱动程序,而不是 d2rq 库目录中的 5.1.47 JAR。 (您可以从下载站点获取 MySQL Connector/J 8.x 驱动程序。)

基本上,您使用的似乎是过时/废弃的软件。 github site for dr2q 显示自 2015 年以来 master 分支上没有任何变化。并且 repo 现在是只读的。

如果您有足够的 Java 编程技能并愿意付出努力,您可以:

分叉回购 调查问题的真正原因2 更新代码库以修复明显的Class::forName 问题和/或升级 JDBC 驱动程序。

但是,如果您没有技能,等等……您最好的选择是寻找其他工具。 (您也许可以在其他一些论坛上找到解决此问题的 hacky 解决方法......只是被下一个论坛难住了。)


1 - 它应该使用DriverManager ...,它将自动发现 JDBC 驱动程序。自 Java 5.0 以来,不再需要使用 Class::forName 加载驱动程序。 2 - 不要指望别人免费为你做这项工作。

【讨论】:

好的,谢谢,我再找答案

以上是关于使用d2rq遇到的数据库连接问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

通过 Hibernate 连接访问数据库 [重复]

与内存数据库中的同一个 H2 建立多个连接[重复]

如何使用 Mysql JDBC 驱动程序将 Android 与 MySQL 连接 [重复]

节点 postgres 并获得具有重复名称的连接字段

来自多个引用的 Firestore 连接数据 [重复]

想用codeigniter连接sql数据库[重复]