Eclipse帮助中的Postgres JDBC连接

时间:2008-10-14 02:02:14

标签: java postgresql jdbc

我正在尝试在eclipse中使用postgres jdbc连接。使用Data Source Explorer会很好,但是现在我只想尝试获得基本连接。到目前为止我所做的是下载postgres JDBC连接器。然后我尝试了两种不同的东西。首先,偏好 - >数据管理,我试图添加postgres连接器。其次,我将jar添加到我的项目中并尝试使用Class.forName(“org.postgresql.Driver”)加载驱动程序;但都没有奏效。有没有人有任何想法?

谢谢,    查理

5 个答案:

答案 0 :(得分:20)

这就是我建立联系的方式:(我不知道这是否是“最佳做法”,但它确实有效。)

导入驱动程序:

  1. 右键点击您的项目
  2. 选择属性
  3. 选择Java build path
  4. 选择Add external JARS..并选择JDBC驱动程序的位置。
  5. 这是我的代码:

    try{
        Class.forName("org.postgresql.Driver");
        } catch (ClassNotFoundException cnfe){
          System.out.println("Could not find the JDBC driver!");
          System.exit(1);
        }
    Connection conn = null;
    try {
        conn = DriverManager.getConnection
                       (String url, String user, String password);
         } catch (SQLException sqle) {
           System.out.println("Could not connect");
           System.exit(1);
         }
    

    网址可以是以下格式之一:

    jdbc:postgresql:database
    jdbc:postgresql://host/database
    jdbc:postgresql://host:port/database
    

答案 1 :(得分:2)

我也遇到了这个问题,Vjeux的回答帮助我指明了正确的方向。

我有一个已安装并由Eclipse管理的Tomcat6的本地副本。它安装在'$ HOME / bin / tomcat6'中。为了使PostgreSQL JDBC驱动程序正常工作,我只需将postgresql.jar文件复制到'$ HOME / bin / tomcat6 / lib'目录中。

此外,如果您不知道从哪里获取驱动程序,请尝试此操作。我正在运行Ubuntu所以我运行了'sudo apt-get install libpg-java',它将驱动程序安装到'/usr/share/java/postgresql.jar'中,所以我只是从那里复制它。

答案 2 :(得分:1)

我在使用GWT时遇到了同样的问题。

我通过复制“lib”文件夹中的jar文件来修复它:(Project \ war \ WEB-INF \ lib)。当你将jar添加到Build Path时,它似乎是静态地进行链接,但是我们想要在运行时使用lib!

希望它能解决你的问题。

答案 3 :(得分:0)

您可以在persistence.xml中编写此代码

      <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
        <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/yourDataBaseName"/>
        <property name="javax.persistence.jdbc.user" value="postgres"/>
        <property name="javax.persistence.jdbc.password" value="yourPassword"/>

答案 4 :(得分:-1)

以下是将PostgreSQL连接到应用程序的一种方法:

  1. 获取org.postgresql.ds.PGSimpleDataSource
  2. 的实例
  3. 使用与您的数据库匹配的值设置它(请参阅下面的方法)
  4. 继续使用DataSource,就像使用其他任何一个一样,我假设此时您对DataSource.getConnection()方法感兴趣。
  5. 配置此特定数据源的专有方法有setServerName()setDatabaseName()setUser()setPassword()

    除了测试之外,我不建议做其他任何事情而且你的问题可能在于你试图使用Class.forName()获取对象实例的方式。有几十种不同的获取方式一个具有微妙差异的对象的实例,我建议谷歌搜索它,因为它是很多人已经在互联网上写过的主题。