我正在尝试使用JDBC连接将LibreOffice Base与MySQL数据库(在phpMyAdmin中)连接起来。
第一步是选择要选择的数据库:
第二步是选择哪个连接:
第三步是选择您的数据库:
当我按下'Klasse testen'(测试类)时,我收到以下错误:'com.mysql.jdbc.driver无法加载'。
有谁知道如何避免此错误?
答案 0 :(得分:42)
您需要下载并注册"首先是JDBC连接器。为此:
转到http://dev.mysql.com/downloads/connector/j/并使用JDBC连接器下载ZIP存档("平台无关");您也可以下载MSI安装程序;在这种情况下,jar文件可以在Program Files (x86)/MySQL/MySQL Connector J/
中找到(假设Win 7 64位系统)
在本地PC上解压缩存档(记住其内容的路径),或者安装MSI文件;
在提取的文件夹结构中,有一个文件" mysql-connector-java-5.0.8-bin.jar" (名称取决于您已下载的确切版本)
运行LibreOffice(不是Base,只是LO);
打开菜单Tools
- > Options
- > LibreOffice
- > Advanced
- > 类路径;
点击添加存档;
从步骤1-3中选择jar文件,然后按确定。现在,Class Path
对话框应如下所示:
那就是它。现在,LO知道在哪里寻找MySQL JDBC驱动程序。
答案 1 :(得分:5)
BTW,对于 Mariadb 其他一切都是一样的,但jdbc驱动程序类更改为:
org.mariadb.jdbc.Driver
答案 2 :(得分:4)
如果您像使用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
答案 3 :(得分:2)
按照上面的说明并成功连接到所需的MySQL数据库后,我发现在DateTime字段中包含0000-00-00 00:00的表生成错误'Value 0000-00-00 00 :00:00'无法加载为java.sql.Timestamp 。找到对“zeroDateTimeBehavior = convertToNull”的引用,因为解决方案很简单;棘手的部分是在LibreOffice中输入它的地方。快速回答:将其作为数据库名称字段的一部分输入 - 因此'mydatabase'将变为'mydatabase?zeroDateTimeBehavior = convertToNull'。在Linux Mint / Ubuntu下使用 localhost 服务器运行,这就产生了奇迹。快乐的数据运算!