I\'m having a hard time working out how I should be installing the JDBC driver for PostgreSQL on my debian 6.0 server. I have moved the driver .jar into the following direct
In your IDE (Idea, Eclipse, etc) you need to add that path as a library.
Alternatively, you can compile and execute from the command-line, if you define a CLASSPATH variable which includes that.
export CLASSPATH=/usr/local/pgsql/share/java/postgresql.jar
javac -classpath $CLASSPATH MyDBApp.java
java -cp $CLASSPATH MyDBApp
Install all packages:
# apt-get install libpostgresql-jdbc-java libpostgresql-jdbc-java-doc
To set Java Environment for all users, add/edit /etc/environment:
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
CLASSPATH=".:/usr/share/java/mysql.jar:/usr/share/java/postgresql-jdbc4.jar"
Note: change /usr/lib/jvm/java-8-openjdk-amd64 with your JDK
Note: if you prefered to use postgresql-jdbc3, replace /usr/share/java/postgresql-jdbc4.jar with /usr/share/java/postgresql.jar
Test your connection using this code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
class TestDB {
/*
/usr/share/java
http://dev.mysql.com/doc/connector-j/5.1/en/
https://jdbc.postgresql.org/documentation/documentation.html
*/
static Connection conn = null;
public static void main(String[] args) {
// PostgreSQL
try {
System.out.println("Loading Class org.postgresql.Driver");
Class.forName("org.postgresql.Driver");
System.out.println("Loading org.postgresql.Driver Successful");
String url = "jdbc:postgresql://localhost/database";
Properties props = new Properties();
props.setProperty("user","user");
props.setProperty("password","password");
props.setProperty("ssl","true");
conn = DriverManager.getConnection(url, props);
// or
url = "jdbc:postgresql://localhost/database?user=user&password=password&ssl=true";
Connection conn = DriverManager.getConnection(url);
// Do something with the Connection
System.out.println("Test Connection Successful");
} catch (SQLException ex) {
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
} catch (ClassNotFoundException ex) {
System.out.println("Class Not Found: " + ex.getMessage());
}
}
}
Note: change database, user and passwrod with your configuration
http://www.garasiku.web.id/web/joomla/index.php/java/112-debian-jessie-installing-openjdk-8-mysql-jdbc-and-postgresql-jdbc
That driver has to be on your classpath. You can use this command
java -cp /usr/local/pgsql/share/java/postgresql.jar my.app.MainClass
or you can copy the library into your project structure.
Then you can create connections as the tutorials say...
It is best to install your PostgreSQL driver into tomcat\lib folder. Just copy the driver jar to PATH_TO_TOMCAT\lib
It is not a good idea to add things to the system CLASSPATH because you can end in class loader hell. Here is an example of how you end up in jar / classpath hell.
See http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html