Java 无法加载LibreOffice:'com.mysql.jdbc.driver'

Java 无法加载LibreOffice:'com.mysql.jdbc.driver',java,mysql,jdbc,libreoffice-base,Java,Mysql,Jdbc,Libreoffice Base,我正在尝试将libreofficebase与一个MySQL数据库连接起来,在phpMyAdmin中,使用JDBC连接 第一步是选择要选择的数据库: 第二步是选择哪个连接: 第三步是选择数据库: 当我按下“Klasse testen”测试类时,我得到以下错误:“com.mysql.jdbc.driver无法加载” 有人知道如何避免此错误吗?您需要先下载并注册JDBC连接器。为此: 转到并下载独立于JDBC连接器平台的ZIP归档文件;您也可以下载MSI安装程序;在本例中,jar文件可以在程序文件x8

我正在尝试将libreofficebase与一个MySQL数据库连接起来,在phpMyAdmin中,使用JDBC连接

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

第二步是选择哪个连接:

第三步是选择数据库:

当我按下“Klasse testen”测试类时,我得到以下错误:“com.mysql.jdbc.driver无法加载”


有人知道如何避免此错误吗?

您需要先下载并注册JDBC连接器。为此:

转到并下载独立于JDBC连接器平台的ZIP归档文件;您也可以下载MSI安装程序;在本例中,jar文件可以在程序文件x86/MySQL/MySQL连接器J/中找到,假设是Win 7 64位系统

解压本地PC上的存档,记住其内容的路径,或者安装MSI文件

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

运行LibreOffice而不是Base,只是LO

打开菜单工具->选项->图书馆办公室->高级->类路径

单击添加存档

从步骤1-3中选择jar文件并点击OK。现在,类Pathdialog应该如下所示:


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

按照上述说明并成功连接到所需的MySQL数据库后,我发现DateTime字段中包含0000-00-00:00:00的表生成了错误“Value 0000-00-00 00:00:00”不能作为java.sql.Timestamp加载。查找zeroDateTimeBehavior=convertToNull的引用,因为解决方案很简单;棘手的部分是在LibreOffice的什么地方输入这个。快速回答:将其作为数据库名称字段的一部分输入,这样“mydatabase”将变成“mydatabase?zeroDateTimeBehavior=convertToNull”。在LinuxMint/Ubuntu和localhost服务器下运行,效果非常好。快乐的数据处理

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

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

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

org.mariadb.jdbc.Driver

这将是值得一问/答自己-但感谢您添加此信息!在选择连接而不是创建或打开的第一个屏幕中,还可以选择JDBC而不是MySQL。或者在2rd屏幕中,我现在可以在安装JDBC连接器后直接连接。因此,似乎有几种方法可以访问JDBC。我不确定区别是什么,只是这有点复杂。@Elipticalview谢谢你提到:对于Ubuntu用户,您可以sudo apt get install libmysql java,然后将类路径设置为/usr/share/java/mysql.jar您也可以使用dpkg-L libmysql java验证jar文件的路径注意:您可以从任何LO应用程序(例如Writer或Calc)访问工具->选项->高级,以便添加新的类路径您也可以从基本应用程序打开选项:-@Wilcar,您必须拥有/usr/share/java/mariadb-java-client-2.2.6.jar或更新版本,并设置用户所有权&-rw-r--perms。同样在LO选项中,LibreOffice高级开放类路径。。。并将其指向此文件,即添加存档。顺便说一句,您可以打开这个jar,使用归档管理器,并向下搜索以找到其中的Driver.class,即…org/mariadb/jdbc/Driver.classOk,最后它对我有效。我使用了mariadb-java-client-2.4.0.jar,而不是mariadb-java-client-2.4.0-javadoc.jar