jetbrick-orm/src/main/java/jetbrick/dao/jdbclog/JdbcLogDriver.java
private String getDriverClassName(String url) {
        String driverClassName = null;
        if (url.startsWith(CONNECTION_URL_SUFFIX)) {
            url = url.substring(CONNECTION_URL_SUFFIX.length());
            driverClassName = url.substring(0, url.indexOf(":"));
            if (driverClassName.length() > 0) {
                return driverClassName;
            }
            url = url.substring(url.indexOf(":") + 1);
        }

        if (url.startsWith("jdbc:oracle:thin:")) {
            driverClassName = "oracle.jdbc.driver.OracleDriver";
        } else if (url.startsWith("jdbc:mysql:")) {
            driverClassName = "com.mysql.jdbc.Driver";
        } else if (url.startsWith("jdbc:jtds:")) {
            // SQL Server or SyBase
            driverClassName = "net.sourceforge.jtds.jdbc.Driver";
        } else if (url.startsWith("jdbc:db2:")) {
            driverClassName = "com.ibm.db2.jdbc.net.DB2Driver";
        } else if (url.startsWith("jdbc:microsoft:sqlserver:")) {
            // SQL Server 7.0/2000
            driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        } else if (url.startsWith("jdbc:sqlserver:")) {
            // SQL Server 2005
            driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        } else if (url.startsWith("jdbc:postgresql:")) {
            driverClassName = "org.postgresql.Driver";
        } else if (url.startsWith("jdbc:hsqldb:")) {
            driverClassName = "org.hsqldb.jdbcDriver";
        } else if (url.startsWith("jdbc:derby://")) {
            driverClassName = "org.apache.derby.jdbc.ClientDriver";
        } else if (url.startsWith("jdbc:derby:")) {
            driverClassName = "org.apache.derby.jdbc.EmbeddedDriver";
        } else if (url.startsWith("jdbc:sybase:Tds:")) {
            driverClassName = "com.sybase.jdbc.SybDriver";
        } else if (url.startsWith("jdbc:informix-sqli:")) {
            driverClassName = "com.informix.jdbc.IfxDriver";
        } else if (url.startsWith("jdbc:odbc:")) {
            driverClassName = "sun.jdbc.odbc.JdbcOdbcDriver";
        } else if (url.startsWith("jdbc:timesten:client:")) {
            driverClassName = "com.timesten.jdbc.TimesTenDriver";
        } else if (url.startsWith("jdbc:as400:")) {
            driverClassName = "com.ibm.as400.access.AS400JDBCDriver";
        } else if (url.startsWith("jdbc:sapdb:")) {
            driverClassName = "com.sap.dbtech.jdbc.DriverSapDB";
        } else if (url.startsWith("jdbc:interbase:")) {
            driverClassName = "interbase.interclient.Driver";
        }
        return driverClassName;
    }
private String getDriverClassName(String url) {
        String driverClassName = null;
        if (url.startsWith(CONNECTION_URL_SUFFIX)) {
            url = url.substring(CONNECTION_URL_SUFFIX.length());
            driverClassName = url.substring(0, url.indexOf(":"));
            if (driverClassName.length() > 0) {
                return driverClassName;
            }
            url = url.substring(url.indexOf(":") + 1);
        }

        if (url.startsWith("jdbc:oracle:thin:")) {
            driverClassName = "oracle.jdbc.driver.OracleDriver";
        } else if (url.startsWith("jdbc:mysql:")) {
            driverClassName = "com.mysql.jdbc.Driver";
        } else if (url.startsWith("jdbc:jtds:")) {
            // SQL Server or SyBase
            driverClassName = "net.sourceforge.jtds.jdbc.Driver";
        } else if (url.startsWith("jdbc:db2:")) {
            driverClassName = "com.ibm.db2.jdbc.net.DB2Driver";
        } else if (url.startsWith("jdbc:microsoft:sqlserver:")) {
            // SQL Server 7.0/2000
            driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        } else if (url.startsWith("jdbc:sqlserver:")) {
            // SQL Server 2005
            driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        } else if (url.startsWith("jdbc:postgresql:")) {
            driverClassName = "org.postgresql.Driver";
        } else if (url.startsWith("jdbc:hsqldb:")) {
            driverClassName = "org.hsqldb.jdbcDriver";
        } else if (url.startsWith("jdbc:derby://")) {
            driverClassName = "org.apache.derby.jdbc.ClientDriver";
        } else if (url.startsWith("jdbc:derby:")) {
            driverClassName = "org.apache.derby.jdbc.EmbeddedDriver";
        } else if (url.startsWith("jdbc:sybase:Tds:")) {
            driverClassName = "com.sybase.jdbc.SybDriver";
        } else if (url.startsWith("jdbc:informix-sqli:")) {
            driverClassName = "com.informix.jdbc.IfxDriver";
        } else if (url.startsWith("jdbc:odbc:")) {
            driverClassName = "sun.jdbc.odbc.JdbcOdbcDriver";
        } else if (url.startsWith("jdbc:timesten:client:")) {
            driverClassName = "com.timesten.jdbc.TimesTenDriver";
        } else if (url.startsWith("jdbc:as400:")) {
            driverClassName = "com.ibm.as400.access.AS400JDBCDriver";
        } else if (url.startsWith("jdbc:sapdb:")) {
            driverClassName = "com.sap.dbtech.jdbc.DriverSapDB";
        } else if (url.startsWith("jdbc:interbase:")) {
            driverClassName = "interbase.interclient.Driver";
        }
        return driverClassName;
    }
url pattern = "JdbcLog" ":" [DriverClassName] ":" ConnectionUrl