Postgres/Matlab: "JDBC driver file was not found on MATLAB Java classpath“
12 visualizaciones (últimos 30 días)
I followed the instructions on https://ch.mathworks.com/help/database/ug/postgresql-jdbc-mac.html#bt8lyc7-3 but something doesn't work. I still get the error message "JDBC driver file was not found on MATLAB Java classpath“. Is it possible that my version of Postgres is too new (9.6.2) i.e. not the correct one? Can I change that information somewhere in the "conn" properties?
Is it possible that my .jar file needs some other program? (I have installed the latest Java version.) Or does it need to be in a specific folder?
I have absolutely no idea what is wrong, whether all the necessary programs are installed correctly, whether my Postgres verison causes the error... Any help is greatly appreciated.
Prannay Jain el 6 de Abr. de 2017
Make sure that you are using the correct version of JDBC driver and adding the full path to the database driver JAR file in "javaclasspath.txt". MATLAB uses JDK 1.7 or lower and the JDBC driver should match the corresponding JDK version. You can find the java version that your MATLAB is using by running,
>> version -java
For example, if you are using Java 7 then you should use the JDBC 4.1 version. You can find more information about Java and JDBC version on https://jdbc.postgresql.org/download.html
If it still does not work try to install Java 7 on your machine.
Prannay Jain el 7 de Abr. de 2017
As I mentioned above, the JDBC driver should match the corresponding JDK version of your MATLAB. Since your MATLAB shows Java 1.7, install JDBC 4.1 version. It should resolve the issue. I am assuming that you might be using JDBC driver 4.2 which is causing the issue.
The version of Postgre SQL server should not matter. It is just the compatibility of JDBC driver that matters with the Java shipped with MATLAB. In general, it is recommended to also install the same version of JDK (you can have other JDK versions also installed) in Operating System as the version of Java shipped with MATLAB.