使用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遇到的数据库连接问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章