You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Arjen van der Weijden <Ar...@rivm.nl> on 2005/04/20 16:32:44 UTC

dbcp, jocl and mysql

I've been trying hard to get the example files (commons dbcp site) running.

After setting my jar-lib extensions and running the simple example file:

(Jocl.java is like the poolingDriverExample.java)

java
-Djdbc.drivers=com.mysql.jdbc.Driver:org.apache.commons.dbcp.PoolingDriver
Jocl -cp . "jdbc:apache:commons:dbcp:/CON"

I got the following SQLException: "Configuration file not found".

Which is awkward since the CON.jocl file is right there in the classpath.
So I looked at the source-code for dbcp
recompiled it, ran it and what do you know it found the CON.jocl file. But
now another error popped up "org.xml.sax.driver not specified". Now
compiled it using:

java
-Djdbc.drivers=com.mysql.jdbc.Driver:org.apache.commons.dbcp.PoolingDriver
-Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser  -cp
.:/root/commons-dbcp-1.2.1/src/java/ Jocl "jdbc:apache:commons:dbcp:/CON"

Now the error SAXParseException occurs: "The reference to entity "password"
must end with the ";" delimiter." Which make perfect sense as the CON.jocl
file has the line "jdbc:mysql......user=mysql@password=secret" So the
parser trips over the non-encoded &.

But what to do now to make the thing work?

cheers,

Arjen










Listing of Jocl.java
________________________________________________________________


import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class Jocl {

      static String URL = "jdbc:apache:commons:dbcp:";
      static int LEN = URL.length();


    public static void main(String[] args) {

        Connection conn = null;
        Statement stmt = null;
        ResultSet rset = null;
        try {
            System.out.println("Creating connection.");
            conn = DriverManager.getConnection(args[0]);
            System.out.println("Creating statement.");
            stmt = conn.createStatement();
            String $toDay = "2005-04-06";
            String $query = "SELECT id, userid, event FROM calendar where
recieved like '" +
            $toDay + "%'\n";
            rset = stmt.executeQuery($query);
            System.out.println("Executing statement.");
            rset = stmt.executeQuery($query);
            System.out.println("Results:");
            int numcols = rset.getMetaData().getColumnCount();
            while(rset.next()) {
                for(int i=1;i<=numcols;i++) {
                    System.out.print("\t" + rset.getString(i));
                }
                System.out.println("");
            }
        } catch(SQLException e) {
            e.printStackTrace();
        } finally {
            try { rset.close(); } catch(Exception e) { }
            try { stmt.close(); } catch(Exception e) { }
            try { conn.close(); } catch(Exception e) { }
        }
    }
}


____________________________________________________________________________

 DISCLAIMER:  http://www.rivm.nl/disclaimer


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org