J'essaye de me connecter à une base de données PostgreSQL de Matlab. Ceci est mon code:Classe non trouvée exception "java.time.temporal.TemporalField" lors de la connexion à jdbc: postgresql de Matlab
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)
Je reçois l'exception suivante:
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>
Je suis en Matlab R2012a sur Debian. Tout a été installé à partir du référentiel de test. Java est openjdk version "1.8.0_144" et PostgreSQL est 9.6.5-1.
Quelle est la version du pilote JDBC PostgreSQL utilisez-vous? Notez que l'exception elle-même suggère que vous n'utilisez pas réellement Java 8, car 'java.time.temporal.TemporalField' fait certainement partie de Java 8. –
Ah, c'est tout. MATLAB lui-même utilise son propre Java 1.6 JRE, pas le JDK que j'ai installé. – giusti