java.sql.SQLException: JdbcRowSetXImpl (connect): (JNDI) Unable to
connect: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
at
com.sun.sql.rowset.CachedRowSetXImpl5.getConnection(CachedRowSetXImpl5.java:
4125)
at
com.sun.sql.rowset.CachedRowSetXImpl5.getMetaData(CachedRowSetXImpl5.java:
2255)
at
com.sun.data.provider.impl.CachedRowSetDataProvider.getMetaData(CachedRowSetDataProvider.java:
1459)
Caused: java.lang.RuntimeException
at com.sun.data.provider.impl.CachedRowSetDataProvider.getMetaData
(....)
Dodam ze sterownik do DB2 (db2jcc.jar db2jcc_license_cu.jar)
umiescilem w katalogu Glassfisha domain1\lib\ext. W zasobach
Glassfisha utworzylem connection-pool ktory odpowiada na komende ping.
Z poziomu Netbeansa (zakladka Services) moge sie laczyc z baza danych
(wyswietlac dane, dodawac wiersze do tabeli).
To ciekawe, ale moge poprawnie wyswietlac zawartosc tabeli w
komponencie Table i wszystko jest OK, natomiast gdy w podany powyzej
sposob probuje polaczyc tabele z Drop Down List wyswietla sie
komunikat o bledzie.
Bede wdzieczny za kazda wskazowke jak rozwiazac ten problem?
Bingo!
Ufff - udało się... Może w przyszłości ktoś napotka na podobny
problem. Poniżej przedstawiam rozwiązanie. Ale po kolei: Próbowałem
wykonać tutorial ze strony:
http://netbeans.org/kb/docs/web/helloweb.html#06b
NetBeans + Visual JavaServer Faces + GlassFish +baza danych DB2.
Pierwszym krokiem jest skopiowane sterowników do odpowiedniego
katalogu GlassFish (ścieżka w poście powyżej). Następnie należy
przejść do konsoli administracyjnej GF (zakładka Services -> Servers -
> GlassFish i prawym przyciskiem wybrać View admin console).
Będąc w konsoli administracyjnej wybrać Application Server -> JVM
Settings -> JVM Options -> Add JVM Option. Potrzeba dodać wpis o
następującej treści:
-Djdbc.drivers=com.ibm.db2.jcc.DB2Driver
Zrestartować GF i śmiga!