在诊断问题时,我想尝试的一个解决方案对我来说是不可用的,并且,考虑到我所看到的,我很好奇我错过了什么。
这个问题实际上是关于“可怜的人有一个Raspberry Pi,并且想在它上面使用JDBC做什么?”在普通的Rasperian / Raspberry Pi OS分发存储库中似乎没有任何“本地可用的”JDBC驱动程序,特别是不是来自OS java库或PostgreSQL分发版(版本11 -有点旧)。如果这是真的,那么没有其他计算资源的人是SOL。(此外,奇怪的是,从其他系统引入Rasperian的这些驱动程序似乎不起作用--更多信息如下所示)
但是,我肯定忽略了什么吗?
当我在整个“完整”发行版上使用find时,在安装了最新的JDK和PostgreSQL之后,我得到了一些文件/目录条目,其中包含字符"jdbc",但没有驱动程序:
usr/lib/libreoffice/program/libjdbclo.so
usr/lib/libreoffice/share/config/soffice.cfg/dbaccess/ui/jdbcconnectionpage.ui
usr/lib/libreoffice/share/config/soffice.cfg/dbaccess/ui/generalspecialjdbcdetailspage.ui
usr/lib/libreoffice/share/config/soffice.cfg/dbaccess/ui/specialjdbcconnectionpage.ui
usr/share/doc/openjdk-11-jre-headless/api/java.sql.rowset/javax/sql/rowset/class-use/JdbcRowSet.html
usr/share/doc/openjdk-11-jre-headless/api/java.sql.rowset/javax/sql/rowset/JdbcRowSet.html
usr/share/doc/openjdk-11-jre-headless/api/java.sql/java/sql/class-use/JDBCType.html
usr/share/doc/openjdk-11-jre-headless/api/java.sql/java/sql/JDBCType.html具体来说,这是从新的Raspberry Pi 4 Model B的最新64位版本。Uname说:
Linux <hostname> 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux此操作系统上的包管理器会对已安装的PostgreSQL包进行如下说明:
ii libpq5:arm64 11.11-0+deb10u1 arm64 PostgreSQL C client library
ii libreoffice-sdbc-postgresql 1:6.1.5-3+deb10u7 arm64 PostgreSQL SDBC driver for LibreOffice
ii postgresql 11+200+deb10u4 all object-relational SQL database (supported version)
ii postgresql-11 11.11-0+deb10u1 arm64 object-relational SQL database, version 11 server
ii postgresql-client-11 11.11-0+deb10u1 arm64 front-end programs for PostgreSQL 11
ii postgresql-client-common 200+deb10u4 all manager for multiple PostgreSQL client versions
ii postgresql-common 200+deb10u4 all PostgreSQL database-cluster manager值得注意的是,我要求apt安装所有的postgresql包并捕获输出(我认为它有137个包长),并且没有jdbc的条目,也没有PG Admin的条目。
Pi上的数据库已经创建好了,我可以用普通的PostgreSQL工具很好地处理它。而且,我可以通过网络,从PG Admin (一个基于web的工具)和我想要在Pi上运行的其他相同的软件实例来访问它,只需在相邻的Fedora机器上运行。但是在Pi上运行的相同的基于Java的软件不会连接到它自己的数据库,也不会连接到本地网络上其他相同的数据库,这就是为什么我想尽可能尝试使用原生JDBC驱动程序的原因。
我将讨论我实际放在Pi上并尝试的JDBC驱动程序,以及我如何将它们声明给java程序,但这似乎有点超出了这个问题的范围。
发布于 2021-04-09 02:43:14
来自https://mvnrepository.com/artifact/org.postgresql/postgresql/42.2.19的postgresql驱动程序是一个纯java驱动程序,完全与操作系统、CPU类型和位大小无关。
您将找不到该驱动程序的特定于Raspberry Pi的版本,因为它不是必需的--您所需要的只是JVM (这是所有JDBC驱动程序的要求……)
关于PostgreSQL版本兼容性:截至今天(2021年4月),驱动程序的About page声明:
当前版本的驱动程序应兼容Java8.2及更高版本,以及Java6(JDBC4.0)、Java7(JDBC4.1)、Java8(JDBC4.2)和PostgreSQL 9。
https://stackoverflow.com/questions/67007636
复制相似问题