2008-10-14 92 views
11

我试图在eclipse中获得postgres jdbc连接。这将是很好的使用数据源资源管理器,但现在我只是想获得一个基本的连接。到目前为止我所做的是下载postgres JDBC连接器。然后我尝试了两件不同的事情。首先,首选项 - >数据管理,我试图添加postgres连接器。其次,我将jar添加到我的项目中,并尝试使用Class.forName(“org.postgresql.Driver”)加载驱动程序;但都没有工作。有没有人有任何想法?Eclipse中的Postgres JDBC连接帮助

感谢, 查理

+0

定义 “既不工作”。你有没有收到一条消息,或者是什么? – 2008-10-14 02:08:35

回答

-1

下面就来让PostgreSQL的连接到您的应用程序的方法:

  1. 获取org.postgresql.ds.PGSimpleDataSource
  2. 设置它的实例,该值匹配到你的数据库(见下面的方法)
  3. 继续使用数据源,因为您会使用任何其他的,我会假设在这一点上你会对DataSource.getConnection()方法感兴趣。

用于配置该特定数据源的专用方法是setServerName()setDatabaseName()setUser()setPassword()

我不会推荐这样做,除了测试,但它可能是你的问题在于你试图获得对象的实例使用Class.forName()有几乎不同的方式来获得一个实例一个细微差别的对象,我建议谷歌搜索它,因为它是一个很多人已经写在整个互联网上的主题。

20

这是如何我已经做了连接:(我不知道这是否是“最佳实践”,但它的工作原理)

导入驱动程序:

  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 
+0

更多的一般性Eclipse注释,但您也可以在构建路径属性对话框中的添加库中创建一个用户库。这样你就可以从多个项目中引用同一个jar文件。当你升级到新版本时,你只需要在1个地方更改罐子名称。 – AngerClown 2009-07-21 15:40:16

1

我不得不使用GWT同样的问题。

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

希望它能解决您的问题。

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'中,我只是从那里复制它。

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"/>