![](/img/trans.png)
[英]PredictionIO: Installing JDBC driver for postgresql on OSX
[英]PostgreSQL - Installing JDBC driver
我正在努力解决如何在debian 6.0服务器上为PostgreSQL安装JDBC驱动程序的问题。 我已将驱动程序.jar移动到以下目录中:
/usr/local/pgsql/share/java/postgresql.jar.
然后教程讨论使用此代码:
Class.forName("org.postgresql.Driver");
但是,因为我是postgreSQL的新手,所以我不知道应该把这行放在哪里,或者这是否正确。
我的问题是,如果没有将jar文件移动到这个位置,为了在我的postgreSQL安装上安装JDBC驱动程序,我实际需要做些什么?
编辑:这是我的设置:
服务器1: Tomcat + SOLR
服务器2:带有JDBC驱动程序的PostgreSQL
服务器1上的SOLR通过JDBC驱动程序在服务器2上查询postgreSQL
最好将PostgreSQL驱动程序安装到tomcat \\ lib文件夹中。 只需将驱动程序jar复制到PATH_TO_TOMCAT \\ lib即可
将事物添加到系统CLASSPATH不是一个好主意,因为你可以在类加载器地狱中结束。 这是一个如何在jar / classpath地狱中结束的例子。
请参见http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html
那个驱动程序必须在你的类路径上。 您可以使用此命令
java -cp /usr/local/pgsql/share/java/postgresql.jar my.app.MainClass
或者您可以将库复制到项目结构中。
然后你可以创建连接,因为教程说...
在IDE(Idea,Eclipse等)中,您需要将该路径添加为库。
或者,如果定义包含该变量的CLASSPATH变量,则可以从命令行编译和执行。
export CLASSPATH=/usr/local/pgsql/share/java/postgresql.jar
javac -classpath $CLASSPATH MyDBApp.java
java -cp $CLASSPATH MyDBApp
安装所有包:
# apt-get install libpostgresql-jdbc-java libpostgresql-jdbc-java-doc
要为所有用户设置Java环境,请添加/ edit / etc / environment:
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
CLASSPATH=".:/usr/share/java/mysql.jar:/usr/share/java/postgresql-jdbc4.jar"
注意 :使用JDK更改/ usr / lib / jvm / java-8-openjdk-amd64
注意 :如果您更喜欢使用postgresql-jdbc3,请将/usr/share/java/postgresql-jdbc4.jar替换为/usr/share/java/postgresql.jar
使用以下代码测试您的连接:
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());
}
}
}
注意 :使用您的配置更改数据库,用户和密码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.