Hello Thomas,

thank you for your informations! I will order ASA developer edition
and learn new database;-) Now, I'm looking for a database which
provides internationalization features; specially ORDER BY [(var)char
| text] column and I have no success:
ASE and localization -- it's a workaround.
PostgreSQL -- it's the same. You must define locale during database
storage creation:-(
Firebird -- currently I have no experience:-(
Oracle -- expensive:-(

So, maybe ASA will solve my problem

Regarding T-SQL: I don't know how you, but I find T-SQL great... Some
constructions are interesting

Regarding JDBC: Maybe the native library causes your problems. I'm
using only pure-Java drivers located in the common/lib with no
problems.

Regarding DBCP: I found DBCP classes in the stack traces during my
driver's debugging. And finally -- there is naming-factory-dbcp.jar in
the common/lib...

Regarding Tomcat and data sources: I found this more then obscure. I
have one question: If you write a webapp which uses database; where
shall I define the datasource names? Hardwiring is not a solution. And
put them (the definitions) into some configuration file into the
webapp war file?? Ofcourse, Tomcat have the admin app in which you can
define app-specific database cources... But Sun Java System App server
not... There are in the SJSAS only global resources... I must learn
more...

So, many many thanks for your informations; I'm sorry that I didn't help you:-(

Have a nice day

PETR


On 3/6/06, Tom Bednarz <[EMAIL PROTECTED]> wrote:
> Hi Petr,
>
> Thanks for your feedback. It still does not work for me, no matter where
> I put the damn JAR file. So I will use my own pooling class directly in
> my webapp based on Apaches DBCP which is part of Jakarta Commons. It is
> probably faster then fiddeling with this bloody driver configuaration.
>
> I currently should use the pool from JSP's and not from Java code.
> However, it should not make a difference.
>
> Just for your information regarding ASA and ASE: ASA is a database
> originally written by a company called WATCOM in Canada. I use the
> software for more then 10 years and it is one of the best DB engines
> money can buy. Even with large databases (several GB in size) it is
> faster then MS SQL Server. ASE is only faster if there are hundreds of
> concurrent users, but ASE has still many limitations in SQL syntax, db
> space management, datatypes etc. Also it only understands T-SQL while
> ASA understands both T-SQL and ANSI SQL.
>
> Regarding JDBC: jConnect is a driver provided from SYBASE. It works on
> ASE as well as on ASA and uses the Tabular Data Stream TDS protocol.
> jConnect is quite slow and does NOT support scrollable cursors, but it
> is a pure java, level 4 driver. JDBCODBC.IDriver is a NATIVE library
> driver (level 3). It is NOT using bridge, it is using a native DLL or
> .SO on UNIX. To connect one needs to setup a ODBC datasource which may
> be painful, if you have to redistribute a client. (You need to integrate
> the entire ODBC stuff in your setup program).  This driver is relatively
> new (compared to jConnect) and was introduced with ASA 8 (I think).
> Currently we have ASA 9.x. Earlier version only could use jConnect.
>
> Cheers
>
> Thomas
>
> Hadraba Petr wrote:
>
> >Hi,
> >
> >I studied something about Sybase ASA and here are my pieces of knowledge:
> >- ASA is, unlike ASE, ODBC based insted of TDS
> >- the JDBC drivers are generic JDBC-to-ODBC bridge and can be used to
> >access _any_ database throw ODBC
> >- the JDBC drivers are not freely downloadable (I didn't find any)
> >
> >- You can access ASA also throw jConnect (TDS based Sybase's JDBC drivers)
> >This solution is functional but the speed (power) is less -- Sybase
> >does not recomand to use jConnect drivers.
> >
> >So, I tried to use my ASE under Tomcat (Currently, I'm successfuly
> >using PostgreSQL). The following solution works fine under Tomcat
> >standalone and Tomcat under Eclipse.
> >
> >Small HOWTO for Tomcat 5.5.15/jdk1.5.0_06/Linux:
> >1. Locate your existing JDBC driver, or try use jConnect
> >(http://www.sybase.com/products/middleware/jconnectforjdbc)
> >2. Copy the driver jar(s) into ${CATALINA_HOME}/common/lib
> >3. Create your META-INF/context.xml
> >4. Make the resource references in the WEB-INF/web.xml
> >5. Use the data source(s) in your code
> >
> >I saw the `Cannot load JDBC driver class' and it seens the drivers
> >must be in the common/lib directory.
> >
> >Finally, here is my context.xml, web.xml and example lines using the database
> >
> >Hope this helps
> >
> >PETR
> >
> >
> >META-INF/context.xml
> ><?xml version="1.0" encoding="UTF-8"?>
> ><Context>
> >        <Resource
> >                auth="Container"
> >                scope="Shareable"
> >                description="Logging database connection"
> >                name="jdbc/project/logger"
> >                type="javax.sql.DataSource"
> >                driverClassName="org.postgresql.Driver"
> >                url="jdbc:postgresql://127.0.0.1:5432/project"
> >                username="uname"
> >                password="password6"
> >                maxIdle="20"
> >                maxWait="5000"
> >                maxActive="20"
> >                validationQuery="SELECT version();" />
> >        <Resource
> >                auth="Container"
> >                scope="Shareable"
> >                description="Test connection to the Sybase ASE server"
> >                name="jdbc/project/sybase"
> >                type="javax.sql.DataSource"
> >                driverClassName="com.sybase.jdbc3.jdbc.SybDriver"
> >                url="jdbc:sybase:Tds:ws:5000"
> >                username="sa"
> >                password=""
> >                maxIdle="20"
> >                maxWait="5000"
> >                maxActive="20"
> >                validationQuery="" />
> ></Context>
> >
> >
> >WEB-INF/web.xml
> >...
> >        <resource-ref>
> >                <description>PROJECT client</description>
> >                <res-ref-name>jdbc/project/logger</res-ref-name>
> >                <res-type>javax.sql.DataSource</res-type>
> >                <res-auth>Container</res-auth>
> >                <res-sharing-scope>Shareable</res-sharing-scope>
> >        </resource-ref>
> >        <resource-ref>
> >                <description>PROJECT client</description>
> >                <res-ref-name>jdbc/project/sybase</res-ref-name>
> >                <res-type>javax.sql.DataSource</res-type>
> >                <res-auth>Container</res-auth>
> >                <res-sharing-scope>Shareable</res-sharing-scope>
> >        </resource-ref>
> >
> ></web-app>
> >
> >SAMPLE/code
> >...
> >                       final Context initCtx = new InitialContext();
> >                       final Context envCtx = (Context) 
> > initCtx.lookup("java:comp/env");
> >
> >                       final DataSource dataSource = (DataSource) 
> > envCtx.lookup(databaseName);
> >
> >                       final Connection conn = dataSource.getConnection();
> >
> >                       final PreparedStatement stmt = conn.prepareStatement(
> >                                       "INSERT INTO access_log 
> > (acsl_account, acsl_object) " +
> >                                       "VALUES (NULL, ?)");
> >
> >                       final HttpServletRequest request = 
> > getContentManager().getRequest();
> >
> >                       final String log = request.getRequestURL().toString() 
> > +
> >                                       " -- " + request.getRemoteHost() + 
> > ":" + request.getRemotePort() +
> >                                       " -- " + parseRequestHeaders(request);
> >
> >                       stmt.setString(1, log);
> >
> >                       stmt.execute();
> >
> >                       stmt.close();
> >
> >                       conn.close();
> >
> >                       //
> >
> >                       final DataSource ds = (DataSource) 
> > envCtx.lookup("jdbc/project/sybase");
> >
> >                       final Connection cn = ds.getConnection();
> >
> >                       Statement st2 = cn.createStatement();
> >                       st2.execute("USE test");
> >                       st2.close();
> >
> >                       cn.close();
> >
> >On 3/3/06, Tom Bednarz <[EMAIL PROTECTED]> wrote:
> >
> >
> >>Hi,
> >>
> >>Thanks for your help. It brought me one step further but did not yet
> >>solve the problem! It looks like the context.xml is mandatory. I moved
> >>the configuration from the server.xml to the context.xml. The error
> >>message changed as follows:
> >>
> >>org.apache.jasper.JasperException: Unable to get connection, DataSource 
> >>invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC 
> >>driver class 'ianywhere.ml.jdbcodbc.IDriver'"
> >>        
> >> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
> >>        
> >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
> >>        
> >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> >>        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >>
> >>
> >>This means it does not find the driver jar file. I put it in all
> >>possible directories (lib directories of the webapp, tomcats common/lib
> >>and shared/lib) but all without success. Do I have to set a CLASSPATH
> >>somewhere??
> >>
> >>Tom
> >>
> >>
> >>Hadraba Petr wrote:
> >>
> >>
> >>
> >>>Hi,
> >>>
> >>>I'm not using Sybase under Tomcat; I have PostgreSQL...
> >>>
> >>>Eclipse? My configuration is, Eclipse does not modify Tomcat
> >>>configuration (this is the default)
> >>>
> >>>In your WebContent under META-INF create context.xml with the
> >>><Resource ... /> definition. The <Context /> element does not require
> >>>any attributes:
> >>><Context>
> >>> <Resource ... your="attributes" ... />
> >>></Context>
> >>>
> >>>And finaly, place the JDBC driver JAR into your WEB-INF lib.
> >>>
> >>>Catalina will automaticaly load your driver. My configuration is
> >>>working properly.
> >>>
> >>>This configuration is working for me fine!
> >>>
> >>>JNDI names? Look at the JNDI section in the J2EE Tutorial in the Sun's
> >>>web site. The examples are very helpful.
> >>>
> >>>There is also another question:
> >>>It's good solution to place JDBC driver into the webapp's lib directory?
> >>>
> >>>
> >>>Hope it helps
> >>>
> >>>PETR
> >>>
> >>>PS.: My Adaptive Server Enterprise 15 is working good, but not under
> >>>Tomcat; it's standalone application... The initialization, driver URL
> >>>was taken from the Sybase's JDBC documentation on their web sites.
> >>>
> >>>
> >>>On 3/3/06, Tom Bednarz <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>
> >>>
> >>>>I try to configure a JDBC DataSource for my Adaptive Server Anywhere 9
> >>>>database. Unfortunately without any success so far!
> >>>>I use Tomcat 5.5.18.
> >>>>
> >>>>The error is well known and looks as follows:
> >>>>
> >>>>org.apache.jasper.JasperException: Unable to get connection, DataSource
> >>>>invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create
> >>>>JDBC driver of class '' for connect URL 'null'"
> >>>>   
> >>>> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
> >>>>org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
> >>>>
> >>>>org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >>>>org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> >>>>   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >>>>
> >>>>
> >>>>I use the JDBCODBC driver to connect. Here is the configuration:
> >>>>
> >>>>server.xml
> >>>>
> >>>>   <Resource
> >>>>     name="jdbc/MyService"
> >>>>     type="javax.sql.DataSource"
> >>>>     password="sql"
> >>>>     driverClassName="ianywhere.ml.jdbcodbc.IDriver"
> >>>>     maxIdle="2"
> >>>>     maxWait="5000"
> >>>>     validationQuery="select * from CodeTable"
> >>>>     username="dba"
> >>>>     url="jdbc:odbc:dsn=MyService"
> >>>>     maxActive="50"
> >>>>     removeAbandoned="true"
> >>>>     removeAbandonedTimeout="60"
> >>>>     logAbandoned="true"/>
> >>>>
> >>>>Web.xml
> >>>>
> >>>> <resource-ref>
> >>>>     <description>Database connection</description>
> >>>>     <res-ref-name>jdbc/MyService</res-ref-name>
> >>>>     <res-type>javax.sql.DataSource</res-type>
> >>>>     <res-auth>Container</res-auth>
> >>>> </resource-ref>
> >>>>
> >>>>Note: I currently do NOT deplay using a WAR file since I use Eclipse as
> >>>>develpment environment to debug etc. So I do NOT have an application
> >>>>specific context.xml file at the moment.
> >>>>
> >>>>Could anybody please explain what needs to be put into the name
> >>>>property? It seems that jdbc/ is mandatory but what needs to follow the
> >>>>slash is not clear to me! Is it the ODBC datasource name, the database
> >>>>name or any choosen name??
> >>>>
> >>>>Many thanks for your help.
> >>>>
> >>>>Tom
> >>>>
> >>>>---------------------------------------------------------------------
> >>>>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]
> >>
> >>
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to