The meta-data jdbc functions are not implemented (as pointed out in the
exception) in jconnect and probably will not be any time soon. I had tried
to do the same thing 3-4 months back and ran into this brick wall. you may
want to post a status request on this issue on Sybase's jconnect news group:
news://forums.sybase.com/sybase.public.jconnect

-scott-



----- Original Message -----
From: Hien Nguyen <[EMAIL PROTECTED]>
To: Turbine <[EMAIL PROTECTED]>
Sent: Tuesday, March 07, 2000 12:53 AM
Subject: DBSybase implementation


> Hi,
>
> I tried to implement the org.apache.turbine.util.db.pool.DBSybase class so
that
> I can use Turbine with Sybase.
>
> I added the following:
>       public static final int DB_SYBASE     = 8;
>       public static final String DRIVER_SYBASE    =
"com.sybase.jdbc.SybDriver";
>
> to DB.java under package: org.apache.turbine.util.db.pool.
>
> here is the code of DBSybase.java:
>
> package org.apache.turbine.util.db.pool;
> public class DBSybase implements DB
> {
>     private static final int DATABASE_TYPE = DB.DB_SYBASE;
>     private String url = null;
>     private String username= null;
>     private String password= null;
>
>     protected DBSybase()
>     {
>     }
>     public Connection getConnection() throws SQLException
>     {
>         return DriverManager.getConnection(url, username, password);
>     }
>     public void init(String url, String username, String password) throws
> Exception
>     {
>         this.url = url;
>         this.username = username;
>         this.password = password;
>
>         Class.forName( DRIVER_SYBASE ).newInstance();
>     }
>     public int getDatabaseType()
>     {
>         return this.DATABASE_TYPE;
>     }
>
>     /** This method is used to ignore case */
>     public String toUpperCase(String in)
>     {
>         return new
StringBuffer("UPPER(").append(in).append(")").toString();
>     }
>     public char getStringDelimiter()
>     {
>         return '\'';  // '
>     }
>     public String getIdSqlForAutoIncrement()
>     {
>         return null;
>     }
>     public String getSequenceSql(Object sequenceName)
>     {
>         return null;
>     }
>
>     /**
>      * The method is used to lock a table.
>      */
>     public void lockTable(Connection con, String table) throws
SQLException
>     {
>         Statement statement = con.createStatement();
>
>         StringBuffer stmt = new StringBuffer();
>         stmt.append( "SELECT next_id FROM " )
>             .append( table )
>             .append( " FOR UPDATE" );
>
>         statement.executeQuery( stmt.toString() );
>     }
>     /**
>      * The method is used to unlock a table.
>      */
>     public void unlockTable(Connection con, String table) throws
SQLException
>     {
>         // tables in Oracle are unlocked when a commit is issued
>         // the user may have issued a commit but do it here
>         // to be sure
>         con.commit();
>     }
> }
>
> this compiles fine....but when I click on Login, tomcat threw the
following
> exception:
>
> java.lang.Error: Error in BasePeer.initTableSchema(): ZZ00A: The method
> getTableName has not been completed and should not be called.
>         at
> org.apache.turbine.om.peer.BasePeer.initTableSchema(BasePeer.java:221)
>         at
>
org.apache.turbine.om.user.peer.TurbineUserPeer.<clinit>(TurbineUserPeer.jav
a:145)
>
>         at
>
org.apache.turbine.om.user.TurbineUser.retrieveFromStorage(TurbineUser.java:
310)
>
>         at
> org.apache.turbine.om.user.peer.UserFactory.getUser(UserFactory.java:108)
>         at
> org.apache.turbine.om.user.peer.UserFactory.getUser(UserFactory.java:83)
>         at
> org.apache.turbine.modules.actions.LoginUser.build(LoginUser.java:101)
>         at
org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:115)
>         at Turbine.doGet(Turbine.java:261)
>         at Turbine.doPost(Turbine.java:382)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
>         at
>
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:390)
>         at
>
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:422)
>         at
> org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
>         at
>
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:390)
>         at
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:513)
>         at
>
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:146)
>
>         at
>
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:334
)
>         at java.lang.Thread.run(Thread.java:479)
>
>
> what I am doing wrong?
>
> Thanks,
> --hqn
>
> __________________________________________
> NetZero - Defenders of the Free World
> Get your FREE Internet Access and Email at
> http://www.netzero.net/download/index.html
>
>
> ------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> Problems?:           [EMAIL PROTECTED]
>




------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to