You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Benedikt Ritter (JIRA)" <ji...@apache.org> on 2014/07/20 10:49:40 UTC

[jira] [Closed] (DBUTILS-96) DbUtils#loadDriver(ClassLoader,String) makes DriverManager throwing "No suitable driver found for jdbc" if ClassLoader is not the System's one

     [ https://issues.apache.org/jira/browse/DBUTILS-96?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benedikt Ritter closed DBUTILS-96.
----------------------------------


> DbUtils#loadDriver(ClassLoader,String) makes DriverManager throwing "No suitable driver found for jdbc" if ClassLoader is not the System's one
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DBUTILS-96
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-96
>             Project: Commons DbUtils
>          Issue Type: Bug
>         Environment: jdk 1.6
>            Reporter: yuyf
>            Assignee: Simone Tripodi
>             Fix For: 1.6
>
>         Attachments: DBUTILS-96.patch, DBUTILS-96_v2.patch, DBUTILS-96_v3.patch, dbutils-96.tar.gz, dynamicloadjar.zip, mysql.properties
>
>
> By this way(use Dbutil get connect),it will say: {{No suitable driver found for jdbc:mysql://127.0.0.1:3306/xxx}}
> {code}
> urls = new URL[1];
> urls[0] = new File("d:\mysql_connector_5.1.15_bin.jar").toURL();
> URLClassLoader urlClassLoader= new URLClassLoader(urls, ClassLoader.getSystemClassLoader())		
> DbUtils.loadDriver(urlClassLoader, driver);
> Properties conProps = new Properties(); 
> conProps.put("user", user); 
> conProps.put("password", pwd); 
> conProps.put("defaultRowPrefetch", "20");
> scanedConnection = DriverManager.getConnection(url, conProps);
> {code}
> but by this way (use jdbc's api get connect),it's ok
> {code}
> try {
>     URL jdbcDriverURL = new File("d:\\mysql_connector_5.1.15_bin.jar").toURL();
>     URL[] urls = new URL[1];
>     urls[0] = jdbcDriverURL;
>     URLClassLoader urlclassLoader = new URLClassLoader(urls, ClassLoader.getSystemClassLoader());
>     try {
>         java.sql.Driver driverd = (java.sql.Driver) urlclassLoader.loadClass(driver).newInstance();
>         System.out.println(driverd.toString());
>         Properties props = new Properties();
>         props.setProperty("user", theUser);
>         props.setProperty("password", thePw);
>         try {
>             c = driverd.connect(dbUrl, props);
>         } catch (SQLException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         }
>     } catch (InstantiationException e) {
>         // TODO Auto-generated catch block
>         e.printStackTrace();
>     } catch (IllegalAccessException e) {
>         // TODO Auto-generated catch block
>         e.printStackTrace();
>     }
> } catch (MalformedURLException e1) {
>     // TODO Auto-generated catch block
>     e1.printStackTrace();
> }
> {code}
> is this a bug or my useing falut?



--
This message was sent by Atlassian JIRA
(v6.2#6252)