如何使用LibreOffice连接到Firebird

问题描述 投票:1回答:2

我必须使用LibreOffice创建一些报告。我需要使用JDBC连接Firebird数据库。我安装了驱动程序(将其添加到类路径中)并配置了连接以使用

firebirdsql://server:alias
org.firebirdsql.jdbc.FBDriver

当我测试课程时,出现此错误:

"could not load driver class org.firebirdsql.jdbc.FBDriver"
javax/resource/ResourceException

我在另一台机器上尝试过,并得到了相同的消息。还有什么要添加到classpath的东西吗?我在这里想念的是什么?我同时安装了JRE和JDK,并且我正在使用第一个位于C:\ Program Files(x86)\ Java \ jre7中的文件。没有定义classpath环境变量,也没有全局变量,也没有为用户定义]

java jdbc firebird libreoffice
2个回答
2
投票

[Jaybird具有对JCA(Java连接器体系结构)的依赖,特别是JCA 1.5(尽管较新的版本也可以工作),如Jaybird 2.2.5 releasenotes中所述,

这意味着您需要在类路径中包含connector-api-1.5.jar(来自lib文件夹),或者您需要使用jaybird-full-2.2.5.jar,因为其中包括了connector-api-1.5.jar中的类。

而且您的网址在两件事上都不正确:网址格式为

jdbc:firebirdsql[:<subprotocol>]://<host>[:<port>]/<path-or-alias>

这意味着:alias错误(应该为/alias)。而且正如Gord Thompson在评论中所指出的那样,您需要使用子协议oo,因此您需要使用协议前缀jdbc:firebirdsql:oo来解决JDBC解释上的差异,正如文献here所述。因此您的网址应该看起来像:

jdbc:firebirdsql:oo://server/alias

2
投票

以上对于Jaybird 4.0仍然正确。以下是基于Debian 10的更详细的说明。该说明适用于您已经可以访问的现有Firebird数据库(即可以连接并具有已建立的用户名,甚至可能是pw)。

启动LibreOffice,但不启动Base-使用Calc或仅使用常规LibreOffice图标。转到“工具”,“选项”,“ LibreOffice”,然后单击“高级”(在顶部,而不是在“基本”选项中)。检查已安装的JRE的版本号。将“高级”窗口保持打开状态。

下载相应版本的Jaybird zip文件并解压缩。正如Mark Rotteveel在原始答案中指出的那样,jaybird具有依赖项,这可能意味着裸jar文件将无法工作。解决此问题的最简单方法是使用“完整” jar文件:

jaybird-full-4.0.0.java11.jar 

您可能希望将其移至/ usr / share / java中以保持一致性,但可能需要root权限才能这样做。

返回LibreOffice,在“高级”窗口中单击“类路径”按钮,然后在“添加存档”上添加.jar文件。关闭“高级”窗口,然后重新启动LibreOffice。

正在连接:启动LO Base。出现数据库连接向导。选择“连接到现有数据库”。将JDBC指定为驱动程序,然后单击“下一步”。

Base提供了连接字符串的jdbc:部分,因此添加

firebirdsql:oo://host[:port]//<path to database file>

因此,例如:

firebirdsql:oo://localhost:3050//home/dave/Firebird/employee.fdb

使用完整路径时,请注意两次出现“ //”。

使用别名时,只有一组:

firebirdsql:oo://localhost:3050/employee

JDBC驱动程序类是:

org.firebirdsql.jdbc.FBDriver

单击测试类以确认它正在运行。如果不是,请追溯上述步骤。类测试与连接字符串无关,因此在进行故障排除时无需同时填写两者。

从这一点上讲,这是不言而喻的。最后,您将获得一个.odb文件,可用于在工业级Firebird后端上创建视图,报告等。

© www.soinside.com 2019 - 2024. All rights reserved.