I am new to this list as of today, so I don't know if anyone has already
answered your question. Tomcat will not connect to mysql unless you have
a password and of course rights to the database. Here is an example.

Use these mySQL commands

mysql -u root  (This command gives your root privledges).

CONNECT YourDatabase
GRANT ALL PRIVILEGES ON *.* TO [EMAIL PROTECTED] IDENTIFIED BY
“Yourpassword” WITH GRANT OPTION;

You must have a password for Tomcat to work with mySQL

Note: the above user should be removed once testing is complete!


/********* Next, put something like this in your server.xml file: *****/

- <Context path="/classified" docBase="classified" debug="5"
reloadable="true" crossContext="true">
  <Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_Classifieds_log." suffix=".txt" timestamp="true" /> 
  <Resource name="jdbc/Classifieds" auth="Container"
type="javax.sql.DataSource" /> 
- <ResourceParams name="jdbc/Classifieds">
- <parameter>
  <name>factory</name> 
  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> 
  </parameter>
- <!-- 
 Maximum number of dB connections in pool. Make sure you
                                 configure your mysqld max_connections
large enough to handle
                                 all of your db connections. Set to 0
for no limit.
                                

  --> 
- <parameter>
  <name>maxActive</name> 
  <value>100</value> 
  </parameter>
- <!-- 
 Maximum number of idle dB connections to retain in pool.
                                 Set to 0 for no limit.
                                

  --> 
- <parameter>
  <name>maxIdle</name> 
  <value>30</value> 
  </parameter>
- <!-- 
 Maximum time to wait for a dB connection to become available
                                 in ms, in this example 10 seconds. An
Exception is thrown if
                                 this timeout is exceeded.  Set to -1 to
wait indefinitely.
                                

  --> 
- <parameter>
  <name>maxWait</name> 
  <value>10000</value> 
  </parameter>
- <!-- 
 To configure a DBCP DataSource so that abandoned dB connections
                                 are removed and recycled 
                                

  --> 
- <parameter>
  <name>removeAbandoned</name> 
  <value>true</value> 
  </parameter>
- <!--  MySQL dB username and password for dB connections  
  --> 
- <parameter>
  <name>username</name> 
  <value>tkoc</value> 
  </parameter>
- <parameter>
  <name>password</name> 
  <value>trustno1</value> 
  </parameter>
- <!--  Class name for mm.mysql JDBC driver 
  --> 
- <parameter>
  <name>driverClassName</name> 
  <value>com.mysql.jdbc.Driver</value> 
  </parameter>
- <!-- 
 The JDBC connection url for connecting to your MySQL dB.
                                 The autoReconnect=true argument to the
url makes sure that the
                                 mm.mysql JDBC Driver will automatically
reconnect if mysqld closed the
                                 connection.  mysqld by default closes
idle connections after 8 hours.
                                

  --> 
- <parameter>
  <name>url</name> 
 
<value>jdbc:mysql://localhost:3306/Classifieds?autoReconnect=true</value
> 
  </parameter>
  </ResourceParams>
  </Context>
/* NOTE THAT Classifieds would be my JNDI datasource  see the servlet
code below*/


IF CONNECTING VIA A SERVLET PUT THIS CODE BEFORE doPost/doGet

public void init(ServletConfig config) throws ServletException{
    super.init(config);
      try{
          System.out.println("init() DeleteDBServlet: Start Loading
Database Driver");
          Context env = (Context) new
InitialContext().lookup("java:comp/env");
          pool = (DataSource) env.lookup("jdbc/Classifieds");

          if (pool == null)
            throw new ServletException("`jdbc/Classifieds' is an unknown
DataSource");
      }catch (NamingException e) {
        throw new ServletException(e);
      }
  }




I hope this helps,

Tom Kochanowicz






















-----Original Message-----
From: Kumar Abhay-CAK203C [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 16, 2004 12:01 PM
To: 'Tomcat Users List'
Subject: RE: JDBC problems with MySQL
Importance: High

Dear Steve,

I posted this problem around 3 months back and I am daily reading the
forum, hoping that one day somebody will give a solution.
I will deeply appreciate you if u share the solution with me if u r able
to find.

Good Luck 

Best Regards
Abhay Kumar


-----Original Message-----
From: Steve Gums [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 16, 2004 11:57 AM
To: [EMAIL PROTECTED]
Subject: JDBC problems with MySQL


Users

            I know there has been a bazillion messages about this.  I
searched the archives and couldn't find anything to solve my extremely
annoying issue.  It has to be something really simple but I just can't
find it.

 

My System:

            Solaris 9

            Tomcat 5.0.19

            MySQL 4.0.18

            Connector J 3.0.11

 

I have the connector J jar in the /usr/local/tomcat/common/lib dir.

I have basically copied the HOW-TO located at.

http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples
-how
to.html

 

and my result is this.


Results


Foo Not Connected
Bar -1

 

I have tried everything I can think of.  I verified the database and the
user/password combo.  Works good.  I even created a simple Java app that
connects and performs queries, which worked.  That would indicate
everything is cool with the Connector J.  I have verified that the
jdbc/TestDB is in the context and it is.  As best I can tell ds
(DataSource) is coming back not null, but the call to getConnection is
failing.  I created a little more verbose web app and get the following
message.

org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of
class '' for connect URL 'null', cause: No suitable driver

 

This has to be something simple, because this works fine on my old
machine. I know I am forgetting some small step that I did the first
time and failed to do again.  Trust me I have checked the configs about
a million times, and
can't find any differences.   Any help would be appreciated.

 

Sorry to be so vague here, but this is really simple. I don't know what
else to include for info.

 

Steve Gums

[EMAIL PROTECTED]

 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.557 / Virus Database: 349 - Release Date: 12/30/2003
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.557 / Virus Database: 349 - Release Date: 12/30/2003
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to