有誰知道是怎麼回事:「沒有合適的驅動程序」問題Hibernate3中,PostgreSQL的8.3和Java 5
我跑冬眠3.2.6對我的Mac OS X上的PostgreSQL 8.3(通過Fink安裝的)數據庫當我使用Java 6和JDBC 4驅動程序(postgresql-8.3-603.jdbc4)時,設置工作正常。但是,我需要這些東西來處理Java 5和(因此)JDBC 3(postgresql-8.3-603.jdbc3)。當我改變的jar在類路徑中,並切換到Java 5的(我這樣做是在eclipse),我收到以下錯誤:
Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
<Rows clipped for readability>
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:545)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
這裏有什麼問題嗎?我看不到。這裏是我的Hibernate配置:
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:postgresql:test</property>
<property name="connection.username">postgres</property>
<property name="connection.password">p</property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="show_sql">true</property>
<mapping resource="com/mydomain/MyClass.hbm.xml"/>
</session-factory>
</hibernate-configuration>
編輯:連接URL的更長,更常見的形式爲:爲jdbc:在PostgreSQL://本地主機/測試具有完全相同的行爲。
司機罐子肯定是在類路徑中,我也沒有設法得到任何錯誤與此直接使用JDBC的測試代碼:
public static void main(String[] args) throws Exception {
Class.forName("org.postgresql.Driver");
Connection con=DriverManager.getConnection("jdbc:postgresql://localhost/test","postgres", "p");
}
謝謝!有效。不知何故,我複製了一個驅動類屬性不存在的例子。而且因爲它與JDBC4/Java6-setup一起工作,我無法弄清楚配置文件可能存在問題。 – auramo 2008-11-09 21:03:56