2012-12-13 72 views
3

有什麼方法可以檢查我的Glassfish是否能夠實際查看ojdbc6.jar?無法使用Glassfish3上的JDBC連接到數據庫

我正在使用Netbeans 7.2.1,使用JSF 2,Glassfish 3.1.2和Oracle 11g。我想連接到這個數據庫。

所以首先我需要在我的Glassfish中創建連接池。我打開本地主機:4848套5件事情:

  1. 資源類型:javax.sql.DataSource中
  2. 數據源的
  3. 類名稱:oracle.jdbc.pool.OracleDataSource
  4. 屬性: 「用戶」
  5. 屬性: 「密碼」
  6. 屬性: 「URL」

保存,重啓服務器(只肯定),平安....和錯誤:類的名字是錯的或路徑並不用於設置:oracle.jdbc.pool.OracleDataSource

我有什麼已經做了:

  1. 爲ojdbc罈子首先檢查。在我的Oracle目錄中,我將名稱中包含「ojdbc」的每個jar複製到「C:\ glassfish3 \ glassfish \ domains \ domain1 \ lib」中。

  2. 其次,檢查網址的本質。在Netbeans內部,切換到服務標籤,右鍵點擊數據庫,新建連接...設置數據連接(首先我要添加,jodbc6.jar ..所以我添加完全相同的文件 - 從glassfish文件夾)。有用!連接就OK了。我查看了Netbeans數據庫的URL - 和glassfish gui中的URL一樣。我也嘗試與\的網址,但它沒有幫助。

那麼,還有什麼呢?也許no.1不行。所以這是我的問題:我該如何檢查我的Glassfish是否能夠實際看到ojdbc6.jar?

編輯。 當我運行的Glassfish我得到一些警告:

WARNING: Multiple [2] JMX MBeanServer instances exist, we will use the server at index [0] : [[email protected]].

WARNING: JMX MBeanServer in use: [[email protected]] from index [0]

WARNING: JMX MBeanServer in use: [[email protected]] from index [1]

+0

該jar顯然是不加載的... –

+0

我認爲這:http://stackoverflow.com/questions/2507099/how-to-使用第三方庫中的玻璃魚可能會幫助你。貌似問題。 –

+0

複製「C:\ glassfish3 \ glassfish \ domains \ domain1 \ lib \ ext」中的所有jar文件?我做到了..但沒有工作:/ 也許我需要寫入環境路徑?在設置中設置?布什麼? – Marshall

回答

13

複製所有必需的jar文件(ojdbc6.jar .....)爲 '域\ DOMAIN1 \ LIB \分機' 文件夾。然後重新啓動你的glassfish。 然後嘗試從glassfish ping,它將工作

+0

好吧,它不會。但你怎麼知道這是'ext'文件夾?而不僅僅是'lib'?一個人說lib,其他ext ..但是在那裏寫的是Glassfish期待在ext目錄中看到這些罐子。一個配置文件或這樣的..這是這個問題的基礎問題,我認爲.. btw。 「重新開始你的玻璃魚」。我通過Netbeans IDE來做到這一點。服務選項卡,服務器,Glassfish,右鍵單擊並重新啓動.. – Marshall

+2

@Marshall要重新啓動glashfish打開glassfish的命令提示符goto bin文件夾並鍵入'asadmin stop-domain domain1',這將停止glassfish 然後鍵入'asadmin start-domain domain1 」。我相信它會工作 –

+0

嘿,我不得不在這個項目上休息一下,但現在我回來了,它的工作原理。通過CMD重新啓動glassfish幫助!謝謝! – Marshall

0

如果您從IDE運行glassfish,可能是netbeans創建虛擬應用程序。 嘗試添加罐子的是這樣的:http://netbeans.org/kb/docs/javaee/entappclient.html

+0

正如我在Fathah回答評論 - 它的工作,它是NetBeans莫名其妙..現在,我不是100%確定從IDE或cmd啓動Glassfish之間的區別在哪裏... – Marshall

1

「..但你怎麼知道它是‘分機’文件夾,而不僅僅是‘LIB’一個小夥子說lib下,其它分機..?」

Making the JDBC Driver JAR Files Accessible To integrate the JDBC driver into a GlassFish Server domain, copy the JAR files into the domain-dir/lib directory, then restart the server. This makes classes accessible to all applications or modules deployed on servers that share the same configuration. For more information about GlassFish Server class loaders, see "Class Loaders" in GlassFish Server Open Source Edition Application Development Guide. If you are using an Oracle database with EclipseLink extensions, copy the JAR files into the domain-dir/lib/ext directory, then restart the server. For details, see "Oracle Database Enhancements" in GlassFish Server Open Source Edition Application Development Guide

From here

1

注意,當NetBeans的運行在Windows GlassFish的,它採用了 「域」 的目錄是在你的主目錄,而不是在C:\glassfishC:\Program Files\glassfish

在我的Windows 7,運行的NetBeans 8 .0.2與Glassfish 4.1,我不得不把Oracle驅動程序jar(ojdbc6。JAR)到

c:/Users/t823517/AppData/Roaming/NetBeans/8.0.2/config/GF_4.1/domain1 
0

複製ojdbc6-11.1.0.jar(在ojdbc6版本可能是你的情況不同),以glassfish_installation \ GlassFish的\ lib中

重新啓動GlassFish服務器

0

對於似鯖水狼牙魚服務器我複製ojdbc jar到{payara_installation_folder} \ glassfish \ lib,其工作正常