----- 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]

Reply via email to