我正在尝试在eclipse中使用postgres jdbc连接。使用Data Source Explorer会很好,但是现在我只想尝试获得基本连接。到目前为止我所做的是下载postgres JDBC连接器。然后我尝试了两种不同的东西。首先,偏好 - >数据管理,我试图添加postgres连接器。其次,我将jar添加到我的项目中并尝试使用Class.forName(“org.postgresql.Driver”)加载驱动程序;但都没有奏效。有没有人有任何想法?
谢谢, 查理
答案 0 :(得分:20)
这就是我建立联系的方式:(我不知道这是否是“最佳做法”,但它确实有效。)
导入驱动程序:
Java build path
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);
}
网址可以是以下格式之一:
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连接到应用程序的一种方法:
org.postgresql.ds.PGSimpleDataSource
DataSource.getConnection()
方法感兴趣。配置此特定数据源的专有方法有setServerName()
,setDatabaseName()
,setUser()
和setPassword()
。
除了测试之外,我不建议做其他任何事情而且你的问题可能在于你试图使用Class.forName()
获取对象实例的方式。有几十种不同的获取方式一个具有微妙差异的对象的实例,我建议谷歌搜索它,因为它是很多人已经在互联网上写过的主题。