【问题标题】:Database connection problem encountered using d2rq [duplicate]使用d2rq遇到的数据库连接问题[重复]
【发布时间】: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下还是报同样的错误,现在不知道怎么办了,谢谢大家帮忙。

【问题讨论】:

    标签: mysql jdbc rdf d2rq


    【解决方案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 - 不要指望别人免费为你做这项工作。

    【讨论】:

    • 好的,谢谢,我再找答案
    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 2019-10-01
    • 2019-12-16
    • 1970-01-01
    • 2014-12-24
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多