OK, now I think I'm getting it.

I have modified my server.xml file so that it includes a login/password that
permits connecting to the database:

<Resource name="jdbc/pim" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/pim">
  <parameter>
    <name>driverClassName</name>
    <value>org.gjt.mm.mysql.Driver</value>
  </parameter>
  <parameter>
    <name>driverName</name>
    <value>jdbc:mysql://localhost:3306/pim</value>
  </parameter>
  <parameter>
    <name>user</name>
    <value>diego</value>
  </parameter>
  <parameter>
    <name>password</name>
    <value>diego</value>
  </parameter>
<ResourceParams/>

This does not seem to improve things that much. What is really important is
using as driverClassName property the org.gjt.mm.mysql.Driver from MySQL. As
you said, Tyrex requires the driver, not the data source implementation.

Now I find a not null object using JNDI and get a default toString()
"Enabled DataSource" message. This object is of type
tyrex.jdbc.xa.EnabledDataSource according to the getClass().getName()
function. However I can not cast it to any type, this including both
javax.sql.DataSource and the tyrex.jdbc.xa.EnabledDataSource itself.

Can anybody understand this? Is the object incorrectly initialised?

I have put copies of the JDBC driver jar file in both /common/lib and
/server/lib directories...


Diego

-----Message d'origine-----
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]De la part de Craig R.
McClanahan
Envoye : vendredi 14 decembre 2001 21:05
A : Tomcat Users List; [EMAIL PROTECTED]
Objet : RE: MySQL DataSource using Tomcat 4


The thing to remembert is that the ENC does *not* use MySQL's own
connection pool implementation -- it uses its own (Tyrex).  And Tyrex's
mechanism for connectiong to the database requires logging on with a
username and password.

Craig


On Fri, 14 Dec 2001, Diego Castillo wrote:

> Date: Fri, 14 Dec 2001 19:16:39 +0100
> From: Diego Castillo <[EMAIL PROTECTED]>
> Reply-To: Tomcat Users List <[EMAIL PROTECTED]>,
>      [EMAIL PROTECTED]
> To: Tomcat Users List <[EMAIL PROTECTED]>
> Subject: RE: MySQL DataSource using Tomcat 4
>
> Hello Craig,
>
> Thanks for your answer. I have tried your suggestion, but I still have the
> same problem: the object I found using JNDI ENC is not initialised, it's
> null. This is normal because I have set up my MySQL database so that it
> requires no login/password for the moment.
>
> I am using the following resource definition:
> <Resource name="jdbc/pim" auth="Container" type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/pim">
>   <parameter>
>     <name>driverClassName</name>
>     <value>org.gjt.mm.mysql.MysqlDataSource</value>
>   </parameter>
>   <parameter>
>     <name>driverName</name>
>     <value>jdbc:mysql://localhost:3306/pim</value>
>   </parameter>
>   <parameter><name>user</name><value/></parameter>
>   <parameter><name>password</name><value/></parameter>
> </ResourceParams>
>
> I have read the JNDI How-To hundreds of times, but I am still missing
> something...
>
>
> Diego
>
> -----Message d'origine-----
> De : [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]De la part de Craig R.
> McClanahan
> Envoye : vendredi 14 decembre 2001 18:40
> A : Tomcat Users List; [EMAIL PROTECTED]
> Objet : Re: MySQL DataSource using Tomcat 4
>
>
> You also need the database username and password (in the "user" and
> "password" parameters, respectively).  More info in the JNDI How-To, which
> is part of the docs shipped with Tomcat and also available online.
>
> http://jakarta.apache.org/tomcat/tomcat-4.0-doc/jndi-resources-howto.html
>
> Craig
>
>
> On Fri, 14 Dec 2001, Diego Castillo wrote:
>
> > Date: Fri, 14 Dec 2001 10:18:58 +0100
> > From: Diego Castillo <[EMAIL PROTECTED]>
> > Reply-To: Tomcat Users List <[EMAIL PROTECTED]>,
> >      [EMAIL PROTECTED]
> > To: Tomcat Users List <[EMAIL PROTECTED]>
> > Subject: MySQL DataSource using Tomcat 4
> >
> > Hi all!
> >
> > I have a JSP that must fetch some information from a MySQL database.
> > Everything works fine if I create manually a DataSource in my code:
> >
> >   org.gjt.mm.mysql.MysqlDataSource pool =
> >     new org.gjt.mm.mysql.MysqlDataSource();
> >   pool.setServerName("localhost");
> >   pool.setPort(3306);
> >   pool.setDatabaseName("pim");
> >
> >
> > Now I would like Tomcat to create this DataSource object at start-up and
> > find it using JNDI ENC. My code looks like:
> >
> >   InitialContext initialContext = new InitialContext();
> >   DataSource pool =
> >     (DataSource) initialContext.lookup("java:comp/env/jdbc/pim");
> >
> >
> > This code does find a DataSource object, but it seems that the object
> found
> > is not initialised. I have tried many different combinations for my
> > "server.xml" file, but it just looks impossible to figure out what the
> > problem is. The JDBC driver is below common/lib and I am using Tomcat in
> > standalone mode. My "server.xml" file looks like:
> >
> >   <Context path="" docBase="pim" debug="0">
> >     <Resource name="jdbc/pim" auth="Container"
> type="javax.sql.DataSource"/>
> >     <ResourceParams name="jdbc/pim">
> >       <parameter>
> >         <name>driverClassName</name>
> >         <value>org.gjt.mm.mysql.MysqlDataSource</value>
> >       </parameter>
> >       <parameter>
> >         <name>driverName</name>
> >         <value>jdbc:mysql://localhost:3306/pim</value>
> >       </parameter>
> >     </ResourceParams>
> >   </Context>
> >
> >
> > Does anybody know what is happening? How do I instruct tyrex about the
> > factory it should use?
> >
> >
> > Any help would be welcome!
> >
> >
> > Diego Castillo
> >
> >
> > --
> > To unsubscribe:   <mailto:[EMAIL PROTECTED]>
> > For additional commands: <mailto:[EMAIL PROTECTED]>
> > Troubles with the list: <mailto:[EMAIL PROTECTED]>
> >
> >
>
>
> --
> To unsubscribe:   <mailto:[EMAIL PROTECTED]>
> For additional commands: <mailto:[EMAIL PROTECTED]>
> Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
>
> --
> To unsubscribe:   <mailto:[EMAIL PROTECTED]>
> For additional commands: <mailto:[EMAIL PROTECTED]>
> Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
>


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>

Reply via email to