----- Original Message -----
From: "Daniel B. Ramagem" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, July 25, 2001 6:29 AM
Subject: Setting up database in Turbine 2.1: "Database not implemented"
error
> Forgive me if I double post this. I sent this message originally on
> 07/24/01 but never saw it in the list. So I'm trying again.
>
> I'm testing out the Turbine 2.1 user system via the TurbineSecurity class
> and the LoginUser action but I cannot get my database connection to work.
> I'm using the JSQLConnect MSSQL JDBC driver. It's in a .jar file that
I've
> placed into my WEB-INF/lib directory, also where my core Turbine .jar
files
> are found. It seems like the DBFactory class can't find the JDBC driver.
>
> This is how my TR file is configured:
>
> database.default.driver=com.jnetdirect.jsql.JSQLDriver
> database.default.url=jdbc:JSQLConnect://192.168.1.201/database=jakartadb
> database.default.username=xxxxx
> database.default.password=xxxxx
> ....
> database.adaptor=DBJSQL
> database.adaptor.DBJSQL=com.jnetdirect.jsql.JSQLDriver
If you want to do this, I think you'll have to write your own adaptor.
Otherwise you might be able to get away with this:
database.adaptor=DBMSSQL
database.adaptor.DBMSSQL=com.jnetdirect.jsql.JSQLDriver
> And here's the error log. There are two error listed below. The first,
the
> "ClassNotFoundException" comes from the fact that the DBFactory code tries
> to instantiate a class from
> "org.apache.turbine.util.db.adapter.<adapterName>", which doesn't exist.
> Ok, fine. But then the second error in the log below is a
> InstantiationException that comes from trying to register the driver from
> the given classname "com.jnetdirect.jsqlJSQLDriver" into the drivers
> hashtable. It can't find the driver and I don't know why. Is this a
> classpath issue? I thought by merely putting the JSQLConnect.jar file
into
> WEB-INF/lib I should have no problem.
and it should be lookinging in web-inf/lib for all your jars, but try that
solution first and see if it works.
-warner
> Any and all help appreciated. Thank you,
>
> Daniel.
>
> turbine.log below:
>
> [Mon Jul 23 18:02:04 EDT 2001] -- ERROR --
> Exception: java.lang.ClassNotFoundException: DBJSQL [DBJSQL]
> Stack Trace follows:
> java.lang.ClassNotFoundException: DBJSQL [DBJSQL]
> at
>
allaire.jrun.servlet.JRunServletLoader.loadClass(../servlet/JRunServletLoade
> r.java:430)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at
> org.apache.turbine.util.db.adapter.DBFactory.<clinit>(DBFactory.java:109)
> at
>
org.apache.turbine.util.db.pool.ConnectionPool.getDB(ConnectionPool.java:395
> )
> at
>
org.apache.turbine.util.db.pool.ConnectionPool.<init>(ConnectionPool.java:26
> 5)
> at
>
org.apache.turbine.services.db.TurbinePoolBrokerService.registerPool(Turbine
> PoolBrokerService.java:300)
> at
>
org.apache.turbine.services.db.TurbinePoolBrokerService.registerPool(Turbine
> PoolBrokerService.java:259)
> at
>
org.apache.turbine.services.db.TurbinePoolBrokerService.getPool(TurbinePoolB
> rokerService.java:373)
> at
>
org.apache.turbine.services.db.TurbinePoolBrokerService.getConnection(Turbin
> ePoolBrokerService.java:171)
> at
> org.apache.turbine.services.db.TurbineDB.getConnection(TurbineDB.java:194)
> at org.apache.turbine.util.db.IDBroker.<init>(IDBroker.java:210)
> at
>
org.apache.turbine.util.db.map.DatabaseMap.setIdTable(DatabaseMap.java:244)
> at
>
org.apache.turbine.util.db.map.DatabaseMap.setIdTable(DatabaseMap.java:256)
> at
>
org.apache.turbine.services.db.TurbineMapBrokerService.setupIdTable(TurbineM
> apBrokerService.java:218)
> at
>
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
> eMapBrokerService.java:166)
> at
>
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
> eMapBrokerService.java:130)
> at
>
org.apache.turbine.services.db.TurbineDB.getDatabaseMap(TurbineDB.java:126)
> at
>
org.apache.turbine.util.db.map.TurbineMapBuilder.doBuild(TurbineMapBuilder.j
> ava:878)
> at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1845)
> at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1800)
> at
>
org.apache.turbine.om.security.peer.TurbineUserPeer.<clinit>(TurbineUserPeer
> .java)
> at
>
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
> .java:158)
> at
>
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
> .java:246)
> at
>
org.apache.turbine.services.security.BaseSecurityService.getAuthenticatedUse
> r(BaseSecurityService.java:313)
> at
>
org.apache.turbine.services.security.TurbineSecurity.getAuthenticatedUser(Tu
> rbineSecurity.java:199)
> at
> org.apache.turbine.modules.actions.LoginUser.doPerform(LoginUser.java:103)
> at org.apache.turbine.modules.Action.perform(Action.java:87)
> at org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122)
> at org.apache.turbine.Turbine.doGet(Turbine.java:393)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1416)
> at
>
allaire.jrun.session.JRunSessionService.service(../session/JRunSessionServic
> e.java:1082)
> at allaire.jrun.servlet.JRunSE.runServlet(../servlet/JRunSE.java:1270)
> at
>
allaire.jrun.servlet.JRunRequestDispatcher.forward(../servlet/JRunRequestDis
> patcher.java:89)
> at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1552)
> at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1542)
> at
allaire.jrun.servlet.JvmContext.dispatch(../servlet/JvmContext.java:364)
> at allaire.jrun.http.WebEndpoint.run(../http/WebEndpoint.java:115)
> at allaire.jrun.ThreadPool.run(../ThreadPool.java:272)
> at allaire.jrun.WorkerThread.run(../WorkerThread.java:75)
> [Mon Jul 23 18:02:04 EDT 2001] -- ERROR -- BasePeer.MapBuilder failed
trying
> to instantiate: org.apache.turbine.util.db.map.TurbineMapBuilder
> Exception: org.apache.turbine.util.TurbineException: Database type
> com.jnetdirect.jsql.JSQLDriver not implemented.
> Stack Trace follows:
> java.lang.InstantiationException: Database type
> com.jnetdirect.jsql.JSQLDriver not implemented.
> at
org.apache.turbine.util.db.adapter.DBFactory.create(DBFactory.java:172)
> at
>
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
> eMapBrokerService.java:170)
> rethrown as org.apache.turbine.util.TurbineException: Database type
> com.jnetdirect.jsql.JSQLDriver not implemented.
> at
>
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
> eMapBrokerService.java:179)
> at
>
org.apache.turbine.services.db.TurbineMapBrokerService.getDatabaseMap(Turbin
> eMapBrokerService.java:130)
> at
>
org.apache.turbine.services.db.TurbineDB.getDatabaseMap(TurbineDB.java:126)
> at
>
org.apache.turbine.util.db.map.TurbineMapBuilder.doBuild(TurbineMapBuilder.j
> ava:878)
> at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1845)
> at org.apache.turbine.om.peer.BasePeer.getMapBuilder(BasePeer.java:1800)
> at
>
org.apache.turbine.om.security.peer.TurbineUserPeer.<clinit>(TurbineUserPeer
> .java)
> at
>
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
> .java:158)
> at
>
org.apache.turbine.services.security.db.DBUserManager.retrieve(DBUserManager
> .java:246)
> at
>
org.apache.turbine.services.security.BaseSecurityService.getAuthenticatedUse
> r(BaseSecurityService.java:313)
> at
>
org.apache.turbine.services.security.TurbineSecurity.getAuthenticatedUser(Tu
> rbineSecurity.java:199)
> at
> org.apache.turbine.modules.actions.LoginUser.doPerform(LoginUser.java:103)
> at org.apache.turbine.modules.Action.perform(Action.java:87)
> at org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122)
> at org.apache.turbine.Turbine.doGet(Turbine.java:393)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1416)
> at
>
allaire.jrun.session.JRunSessionService.service(../session/JRunSessionServic
> e.java:1082)
> at allaire.jrun.servlet.JRunSE.runServlet(../servlet/JRunSE.java:1270)
> at
>
allaire.jrun.servlet.JRunRequestDispatcher.forward(../servlet/JRunRequestDis
> patcher.java:89)
> at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1552)
> at allaire.jrun.servlet.JRunSE.service(../servlet/JRunSE.java:1542)
> at
allaire.jrun.servlet.JvmContext.dispatch(../servlet/JvmContext.java:364)
> at allaire.jrun.http.WebEndpoint.run(../http/WebEndpoint.java:115)
> at allaire.jrun.ThreadPool.run(../ThreadPool.java:272)
> at allaire.jrun.WorkerThread.run(../WorkerThread.java:75)
>
>
> Finally, here's my LoginUser class:
>
> import org.apache.turbine.util.security.DataBackendException;
> import org.apache.turbine.util.security.UnknownEntityException;
> import org.apache.turbine.util.security.PasswordMismatchException;
> import org.apache.turbine.om.security.User;
>
> public class LoginUser extends VelocityAction {
> public void doPerform(RunData data, Context context) throws Exception
{
> User user; // turbine user
> String username = data.getParameters().getString("username", null);
> String password = data.getParameters().getString("password", null);
> try {
> user = TurbineSecurity.getAuthenticatedUser(username, password);
> } catch (DataBackendException dbe) {
> data.setMessage("User database currently unavailable.");
> } catch (UnknownEntityException uee) {
> data.setMessage("Unknown account.\n");
> } catch (PasswordMismatchException pme) {
> data.setMessage("Incorrect password.\n");
> }
> data.setMessage("Login successful.");
> }
> }
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]