LibreOffice Base:无法建立与数据源的连接
LibreOffice Base: Connection to data source could not be established
我正尝试使用说明 here 在 Base 中打开 MS Access 数据库。 (我试过 .mdb 和 .accdb)
我可以毫无问题地按照 Gord 描述的过程进行操作,直到最后一步要求我以 LibreOffice 格式保存数据库。我选择一个文件名(例如 mylinuxdb.odb),单击确定,然后 Base 打开并显示此错误:
The connection to the data source "mylinuxdb" could not be established.
org/apache/commons/logging/LogFactory
请注意,它抱怨的是新的 .odb 数据库,而不是 MS Access 数据库。但是,没有导入任何数据。
有人可以帮忙吗?
谢谢。
修改后的答案:
似乎此问题特定于默认安装 LibreOffice Base 的 Linux Mint 等发行版。据推测,为了启用嵌入式 HSQLDB 数据库,他们还安装了一个与 UCanAccess 冲突的相当旧版本的 HSQLDB。要解决这个问题,请删除 LibreOffice 的 HSQLDB 副本。对于 Linux Mint 那将是
sudo apt remove libhsqldb1.8.0-java
(原答案)
我能够在 Xubuntu 20.04 上使用 LibreOffice 6.4.6.2 重现您的问题。看起来 Ask Ubuntu 上的设置说明可能需要调整。
同时尝试打开您的 .odb 文件,单击所有错误。当 Base 打开时,选择
编辑 > 数据库 > 属性…
注意“数据库 URL”文本框前面有“jdbc:”。
所以如果文本框包含
jdbc:ucanaccess:///home/gord/Documents/Database1.accdb
那么 Base 显然会尝试使用
jdbc:jdbc:ucanaccess:///home/gord/Documents/Database1.accdb
那是行不通的。我们只需要
ucanaccess:///home/gord/Documents/Database1.accdb
在文本框中(如上图所示)。
这不是(根据选择的答案)“特定于像 Linux Mint 这样默认安装 LibreOffice Base 的发行版”。应该避免这样的陈述,因为它们显然很难证明,除非对所有其他情况进行严格分析,而这显然没有做过,实际上也做不到。
我刚刚遇到此消息,其中包含一个 LO Base 表单,该表单在 Windows 10 上使用 MariaDB 安装,使用 mysql-connector-java-8.0 的 JDBC 连接。28.jar 连接器.jar。该表单仅在几分钟前创建。
有趣的是,我碰巧同时有一个 Python 申请 运行ning 但是,我强调,这个 Python 申请 不使用任何类型的连接到任何 mysql 数据库 。作为 CPython,它也不会以任何方式使用 Java。
我发现当我关闭 Python 应用程序时,我可以打开 LO Base 表单。此外,after first 打开了 LO Base 表单,然后我可以 运行 Python 应用程序。
至于为什么首先会在这种情况下出现这种可笑的错误,我还不知道。将其归结为又一个 LO 异常和奇怪,你必须通过钩子或骗子来导航。
我正尝试使用说明 here 在 Base 中打开 MS Access 数据库。 (我试过 .mdb 和 .accdb)
我可以毫无问题地按照 Gord 描述的过程进行操作,直到最后一步要求我以 LibreOffice 格式保存数据库。我选择一个文件名(例如 mylinuxdb.odb),单击确定,然后 Base 打开并显示此错误:
The connection to the data source "mylinuxdb" could not be established.
org/apache/commons/logging/LogFactory
请注意,它抱怨的是新的 .odb 数据库,而不是 MS Access 数据库。但是,没有导入任何数据。
有人可以帮忙吗?
谢谢。
修改后的答案:
似乎此问题特定于默认安装 LibreOffice Base 的 Linux Mint 等发行版。据推测,为了启用嵌入式 HSQLDB 数据库,他们还安装了一个与 UCanAccess 冲突的相当旧版本的 HSQLDB。要解决这个问题,请删除 LibreOffice 的 HSQLDB 副本。对于 Linux Mint 那将是
sudo apt remove libhsqldb1.8.0-java
(原答案)
我能够在 Xubuntu 20.04 上使用 LibreOffice 6.4.6.2 重现您的问题。看起来 Ask Ubuntu 上的设置说明可能需要调整。
同时尝试打开您的 .odb 文件,单击所有错误。当 Base 打开时,选择
编辑 > 数据库 > 属性…
注意“数据库 URL”文本框前面有“jdbc:”。
所以如果文本框包含
jdbc:ucanaccess:///home/gord/Documents/Database1.accdb
那么 Base 显然会尝试使用
jdbc:jdbc:ucanaccess:///home/gord/Documents/Database1.accdb
那是行不通的。我们只需要
ucanaccess:///home/gord/Documents/Database1.accdb
在文本框中(如上图所示)。
这不是(根据选择的答案)“特定于像 Linux Mint 这样默认安装 LibreOffice Base 的发行版”。应该避免这样的陈述,因为它们显然很难证明,除非对所有其他情况进行严格分析,而这显然没有做过,实际上也做不到。
我刚刚遇到此消息,其中包含一个 LO Base 表单,该表单在 Windows 10 上使用 MariaDB 安装,使用 mysql-connector-java-8.0 的 JDBC 连接。28.jar 连接器.jar。该表单仅在几分钟前创建。
有趣的是,我碰巧同时有一个 Python 申请 运行ning 但是,我强调,这个 Python 申请 不使用任何类型的连接到任何 mysql 数据库 。作为 CPython,它也不会以任何方式使用 Java。
我发现当我关闭 Python 应用程序时,我可以打开 LO Base 表单。此外,after first 打开了 LO Base 表单,然后我可以 运行 Python 应用程序。
至于为什么首先会在这种情况下出现这种可笑的错误,我还不知道。将其归结为又一个 LO 异常和奇怪,你必须通过钩子或骗子来导航。