PostgreSQL的 - 安装JDBC驱动程序(PostgreSQL - Installing J

2019-07-05 04:10发布

我有一个很难的工作如何,我应该我的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:与PostgreSQL的JDBC驱动程序

SOLR在服务器1通过JDBC驱动程序的查询,PostgreSQL服务器上的2

Answer 1:

最好是你的PostgreSQL驱动程序安装到Tomcat \ lib文件夹。 只需复制司机罐子PATH_TO_TOMCAT \ LIB

它不是东西添加到系统CLASSPATH,因为你可以在类加载器地狱结束一个好主意。 这里是你如何在JAR /类路径地狱结束了一个例子。

  • 假设当前应用程序使用的Postgres 9.1和您安装驱动程序在系统CLASSPATH
  • 你决定运行那个盒子进行对话的Postgres的较新版本的其他应用程序可以说,9.2版
  • 由于您使用的是系统类路径中的应用程序2将最终使用旧的驱动程序,因为系统类路径趋于除非应用程序启动脚本设置CLASSPATH =“优先于一个应用程序的类路径”,以空出系统类路径或使用自定义的类装载器那不父,第一类加载。

见http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html



Answer 2:

该驱动程序必须是在你的类路径中。 您可以使用此命令

java -cp /usr/local/pgsql/share/java/postgresql.jar my.app.MainClass

或者你可以将库复制到你的项目结构。

然后,随着教程说,你可以创建连接...



Answer 3:

在你的IDE(IDEA,Eclipse的,等等),你需要添加路径作为库。

可替代地,可以编译并从命令行执行,如果定义一个变量CLASSPATH其包括。

export CLASSPATH=/usr/local/pgsql/share/java/postgresql.jar
javac -classpath $CLASSPATH MyDBApp.java
java -cp $CLASSPATH MyDBApp


Answer 4:

安装所有的软件包:

# apt-get install libpostgresql-jdbc-java libpostgresql-jdbc-java-doc

设置Java环境为所有用户,添加/编辑/ etc /环境:

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
CLASSPATH=".:/usr/share/java/mysql.jar:/usr/share/java/postgresql-jdbc4.jar"

:改变/ usr / lib中/ JVM / JAVA-8的OpenJDK,AMD64与你的JDK

注意 :如果你者优先使用PostgreSQL-JDBC3,与/usr/share/java/postgresql.jar取代/usr/share/java/postgresql-jdbc4.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());

      }

   }

}

:更改数据库,用户和passwrod您的配置

http://www.garasiku.web.id/web/joomla/index.php/java/112-debian-jessie-installing-openjdk-8-mysql-jdbc-and-postgresql-jdbc



文章来源: PostgreSQL - Installing JDBC driver