【问题标题】:LibreOffice: 'com.mysql.jdbc.driver' cannot be loadedLibreOffice:无法加载“com.mysql.jdbc.driver”
【发布时间】:2015-01-22 00:47:48
【问题描述】:

我正在尝试通过 JDBC 连接在 phpMyAdmin 中将 LibreOffice Base 与 MySQL 数据库连接。

第一步是选择你要选择的数据库:

第二步,选择哪个连接:

第三步,选择你的数据库:

当我按下“Klasse testen”(测试类)时,出现以下错误:“com.mysql.jdbc.driver 无法加载”。

有谁知道如何避免这个错误?

【问题讨论】:

  • 在您选择连接的第一个屏幕中(而不是创建或打开),您还可以选择“JDBC”而不是“MySQL”。或者在第二个屏幕中,我现在可以(在我安装了 JDBC 连接器之后)“直接连接”。所以似乎有几种方法可以使用 JDBC。我不确定有什么区别,只是这有点复杂。
  • @Elipticalview 感谢提及:)

标签: java mysql jdbc libreoffice-base


【解决方案1】:

您需要先下载并“注册”JDBC 连接器。这样做:

  1. 转到http://dev.mysql.com/downloads/connector/j/ 并使用 JDBC 连接器(“平台无关”)下载 ZIP 存档;您也可以下载 MSI 安装程序;在这种情况下,jar文件可以在Program Files (x86)/MySQL/MySQL Connector J/中找到(假设是Win 7 64位系统)

  2. 在本地 PC 上解压缩存档(记住其内容的路径),或者安装 MSI 文件;

  3. 在提取的文件夹结构中,有一个文件“mysql-connector-java-5.0.8-bin.jar”(名称取决于您下载的确切版本)

  4. 运行 LibreOffice(不是 Base,只是 LO);

  5. 打开菜单Tools -> Options -> LibreOffice -> Advanced -> 类路径;

  6. 点击添加存档

  7. 从步骤 1-3 中选择 jar 文件并点击 OK。现在,Class Path对话框应如下所示:

就是这样。现在,LO 知道在哪里可以找到 MySQL JDBC 驱动程序。

【讨论】:

  • 对于 Ubuntu 用户,您可以 sudo apt-get install libmysql-java 然后将类路径设置为 /usr/share/java/mysql.jar 可以使用 dpkg 验证 jar 文件的路径 - L libmysql-java 注意:您可以从任何 LO 应用程序访问工具 -> 选项 -> 高级,例如Writer 或 Calc 以添加新的类路径
  • 您也可以从基本应用中打开选项 :-)
【解决方案2】:

按照上述说明并成功连接到所需的 MySQL 数据库后,我发现在 DateTime 字段中包含 0000-00-00 00:00:00 的表生成错误 'Value 0000-00-00 00 :00:00' 无法加载为 java.sql.Timestamp。找到对“zeroDateTimeBehavior=convertToNull”的引用作为解决方案很容易;棘手的部分是 在 LibreOffice 中输入的位置。快速回答:将其作为 数据库名称 字段的一部分输入 - 因此“mydatabase”将变为“mydatabase?zeroDateTimeBehavior=convertToNull”。在带有 localhost 服务器的 Linux Mint / Ubuntu 下运行,这创造了奇迹。快乐的数据处理!

【讨论】:

  • 这本身就值得进行问答 - 但感谢您添加此信息!
【解决方案3】:

如果您使用像 Fedora 这样的 Linux 发行版这样的 Red Hat,您可以使用 yum 或 dnf 从存储库安装它,然后:

在 Base goto Tools/Options/Java 中,单击 Classpath 并在文件浏览器中选择 /usr/share/java/mysql-connector-java.jar。

https://fedoraproject.org/wiki/QA:Testcase_MySQL_or_MariaDB_in_libreoffice-base

【讨论】:

    【解决方案4】:

    顺便说一句,对于 Mariadb 其他一切都是一样的,但是 jdbc 驱动程序类更改为:

    org.mariadb.jdbc.Driver
    

    【讨论】:

    • @Wilcar,您必须拥有 /usr/share/java/mariadb-java-client-2.2.6.jar(或更新版本)并设置用户所有权和 -rw-r-----烫发。同样在 LO Options LibreOffice Advanced 中打开 Class Path... 并将其指向此文件,即 Add Archive... 。顺便说一句,您可以使用归档管理器打开此 jar,然后向下钻取以在其中找到 Driver.class,即 ..org/mariadb/jdbc/Driver.class
    • 好的,终于对我有用了。我使用 mariadb-java-client-2.4.0.jar 而不是 mariadb-java-client-2.4.0-javadoc.jar
    【解决方案5】:

    就我而言(Windows 和 Linux),问题在于 JRE / JDK 和 LibreOffice 的组合。

    它与 LibreOffice-7.0.3.1、JRE-1.0.8.281、mysql-connector-java-8.0.18.jar 一起使用。当我升级到LibreOffice-7.2JRE-1.0.8.301 时,JDBC 驱动程序无法加载

    所以我切换到 LibreOffice-7.0.5.1 和 JRE-1.0.8.281,看起来还不错。我没有尝试过更新版本的 JRE(282 到 300)。

    在 LibreOffice,他们提供 7.2、7.1 和 7.0 版本。

    因此它适用于 Win-32 位和 64 位 LibreOffice-7.0.5.1(32 位,最新 7.0 系列)、JRE-1.8.0.281(32 位非最新)和 mysql-connector-java-8.0 .26.jar(最新)。我想问题出在 mysql-connector-java-8.0-26.jar 上。也许它需要用最新的 JDK 重新编译?我试过了,但我没有时间安装依赖项。

    使用 Linux 64 位,它适用于:LO-6.2.8.2、JDK-1.0.8.261、mysql-java-connector-8.0.18.jar(懒得升级所有这些)。尝试使用 JDK-1.0.8.301 = KABOOM!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 2020-09-12
      • 2016-08-18
      • 2012-04-23
      相关资源
      最近更新 更多