我試圖從Matlab連接到PostgreSQL數據庫。這是我的代碼:當連接到jdbc時,沒有發現異常「java.time.temporal.TemporalField」:Matlab中的postgresql
javaclasspath('/usr/share/java/postgresql-jdbc4.jar');
properties = java.util.Properties;
properties.setProperty('user', '********');
properties.setProperty('password', '********');
driver = org.postgresql.Driver;
url = 'jdbc:postgresql://127.0.0.1:5432/DBNAME';
connection = driver.connect(url, properties)
我得到以下異常:
Error using org.postgresql.Driver/connect
Java exception occurred:
java.lang.NoClassDefFoundError: java/time/temporal/TemporalField
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:322)
at org.postgresql.Driver.makeConnection(Driver.java:404)
at org.postgresql.Driver.connect(Driver.java:272)
Caused by: java.lang.ClassNotFoundException: java.time.temporal.TemporalField
<SNIP>
我Debian上運行Matlab的R2012a。一切都從測試庫安裝。 Java是openjdk版本「1.8.0_144」,PostgreSQL是9.6.5-1。
哪個PostgreSQL的JDBC驅動程序的版本是您使用?請注意,異常本身表明您實際上並未使用Java 8,因爲'java.time.temporal.TemporalField'絕對是Java 8的一部分。 –
啊,就是這樣。 MATLAB本身使用自己的Java 1.6 JRE,而不是我已經安裝的JDK。 – giusti