2011-04-14 55 views
3

嘿,我做了一個EJB程序,我創建了實體類形成我的SQL數據庫。一切正常,它可以連接到我的數據庫,但由於某種原因我現在得到這個錯誤。 Im使用glassfish v3和netbeans ide 6.8Netbeans Java EE SQL Driver找不到

WARNING: Can not find resource bundle for this logger. class name that failed: com.sun.gjc.common.DataSourceObjectBuilder 
SEVERE: jdbc.exc_cnfe_ds 
java.lang.ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlDataSource 

更多的隨機錯誤在這裏。

WARNING: RAR5038:Unexpected exception while creating resource for pool mysql_carrent_rootPool. Exception : javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource 
WARNING: RAR5117 : Failed to obtain/create connection from connection pool [ mysql_carrent_rootPool ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource 
WARNING: RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource] 
WARNING: Could not obtain connection metadata 
java.sql.SQLException: Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource 

我不明白爲什麼它不會找到類路徑,即使它使我的實體從數據庫和我的程序工作過。我沒有改變任何可能的一些代碼,但沒有任何與classpaths甚至數據庫。 感謝您的時間!

回答

5

它不在CLASSPATH中。你不應該認爲這是因爲在某種情況下某種事情可以適用於另一種情況。你沒有正確設置;相信JVM。

Glassfish或NetBeans都沒有做正確的事情。這是CLASSPATH - 解決它。

這是一個網絡應用程序?您的WAR的WEB-INF/lib目錄中是否有MySQL JAR?如果沒有,就把它放在那裏。

Glassfish是否要求JDBC驅動程序JAR進入服務器/ lib目錄?如果是的話,把它放在那裏。

驅動程序類名是否正確?這不是我用來連接MySQL的。你爲什麼認爲這是正確的?覈實。

+1

好吧,我想通了。我需要在我的glassfish中添加mysql5.5的類路徑。你可以通過轉到你的項目來做到這一點,去圖書館右鍵單擊它並添加jar /文件夾,並將其引導到您的MySQL文件夾中(MySQL/MySQL Tools for 5.0/java/lib/mysql-connector-java-5.0.4-bin )。 – Ravana 2011-04-14 02:45:40

+0

我將mysql連接器jar添加到了我的war項目中,並且工作正常。謝謝。 – portoalet 2012-01-03 13:53:31