10

我正在尝试使 postgres jdbc 连接在 Eclipse 中工作。使用 Data Source Explorer 会很好,但现在我只是想建立一个基本的连接。到目前为止我所做的是下载 postgres JDBC 连接器。然后我尝试了两种不同的方法。首先,Preferences-> Data Management,我尝试添加 postgres 连接器。其次,我将 jar 添加到我的项目中并尝试使用 Class.forName("org.postgresql.Driver"); 加载驱动程序;但都没有奏效。有没有人有任何想法?

谢谢,查理

4

5 回答 5

21

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

导入驱动:

  1. 右键单击您的项目
  2. 选择物业
  3. 选择Java build path
  4. 选择Add external JARS..并选择 JDBC 驱动程序的位置。

这是我的代码:

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);
     }

url 可以是以下格式之一:

jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
于 2008-10-18T08:25:06.447 回答
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”中,所以我只是从那里复制了它。

于 2010-09-23T00:35:31.827 回答
1

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

我通过将 jar 文件复制到“lib”文件夹中来修复它:(Project\war\WEB-INF\lib)。当您将 jar 添加到构建路径时,它似乎静态地进行链接,但是我们希望 lib 在运行时!

希望它能解决你的问题。

于 2009-12-15T13:40:37.530 回答
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"/>
于 2013-02-23T19:10:19.393 回答
-1

这是使 PostgreSQL 连接到您的应用程序的一种方法:

  1. 获取一个实例org.postgresql.ds.PGSimpleDataSource
  2. 使用与您的数据库匹配的值进行设置(参见下面的方法)
  3. 继续使用 DataSource ,就像使用其他任何方法一样,我假设此时您会对该DataSource.getConnection()方法感兴趣。

用于配置此特定 DataSource的专有方法是setServerName()setDatabaseName()和。setUser()setPassword()

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

于 2008-10-17T09:08:08.170 回答