有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Rasbian/Raspberry Pi上是否有一个用于Postgres的JDBC包,如果有,它的名称或存储库是什么?

在诊断一个问题时,我想尝试的一个解决方案对我来说是不可用的,而且,鉴于我所看到的,我很好奇我遗漏了什么

这个问题实际上是关于“一个可怜的不幸的人,他有一个树莓Pi,想在上面使用JDBC做什么?”在普通的Rasperian/Raspberry Pi OS发行库中似乎没有任何“本机可用”的JDBC驱动程序,特别是在OS java库或PostgreSQL发行版(版本11-有点旧)中。如果这是真的,那么没有其他计算资源的人就是SOL。(此外,奇怪的是,这些从其他系统带到Rasperian的驱动程序似乎不起作用——下面将详细介绍。)

但我肯定忽略了什么

在安装了最新的JDK和PostgreSQL之后,当我在整个“完整”发行版上使用find时,我想到了几个文件/目录条目,其中包含字符“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型号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(一个基于网络的工具)和我想在Pi上运行的软件的其他相同实例,只要在邻近的Fedora盒子上运行就可以了。但是在Pi上运行的同样的基于Java的软件不会连接到它自己的数据库,也不会连接到本地网络上其他相同的数据库,这就是为什么如果可能的话,我想尝试一个本地JDBC驱动程序

我将讨论我在Pi上实际使用并尝试过的JDBC驱动程序,以及我如何向java程序声明它们,但这似乎有点超出了这个问题的范围


共 (1) 个答案

  1. # 1 楼答案

    来自https://mvnrepository.com/artifact/org.postgresql/postgresql/42.2.19的postgresql驱动程序是一个纯java驱动程序,与操作系统、CPU类型和位大小完全无关

    您将找不到该驱动程序的特定于Raspberry Pi的版本,因为不需要它—您只需要一个JVM(这是所有JDBC驱动程序的要求…)

    关于PostgreSQL版本兼容性:截至今天(2021年4月),驱动程序的About page声明:

    The current version of the driver should be compatible with PostgreSQL 8.2 and higher, and Java 6 (JDBC 4.0), Java 7 (JDBC 4.1), Java 8 (JDBC 4.2) and Java 9.

    • 链接驱动程序版本42.2.19于2021年2月发布
    • <> Li >我希望在2021发布的一个驱动程序,与java 9兼容,也可以与后面的java版本兼容。李>