`

No suitable driver

阅读更多

开发eclipse插件,在插件中自动读取project的classLoader,因为project中存在数据库的驱动程序,但是在写完成以后发现提示如下错误:

No suitable driver

代码如下:

   ProjectClassLoader projectLoader;
   try {
    projectLoader = new ProjectClassLoader((IJavaProject)JavaCore.create(tableNode.getSessionNode().getProfile().getProject()));
   } catch (JavaModelException e) {
    e.printStackTrace();
    return ;
   }
   //old classloader
   ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
   Thread.currentThread().setContextClassLoader(projectLoader);

 

 

看到mysql的网站上有这样一段描述

"No suitable driver" is an error message that is given in either of two situations: the class was not found on the classpath, or the JDBC URL is wrong. 

 

个人感觉应该是jar文件不能夹在造成的,怎么这样无法设置classLoader呢,比较奇怪。

 

 

终于解决了,原来DriverManager在内部处理的时候比较ClassLoader,自己定义的ClassLoader不起作用,可以采用下面的二种方式进行处理

1、通过Driver的方法connect来代替DriverManager的getConnection方法,这样是在Thread的classloader中调用,避免这个问题。

2、自己写一个DriverManager类,这样可以避免这个问题,

 

本来打算采用通过取得的classLoader来反射DriverManager的,但是提示不让反射,只能通过上面的二种方式解决了。

分享到:
评论

相关推荐

    服务器出现java.sql.SQLException No suitable driver found for 的.pdf

    ### 服务器出现java.sql.SQLException No suitable driver found for 的解析与解决方案 #### 问题背景 在进行Servlet开发过程中,尤其是在尝试连接数据库时,遇到了一个常见的异常:“java.sql.SQLException: No ...

    mysql5.6连接驱动jaf,可处理报错java.sql.SQLException: No suitable driver

    当你遇到"java.sql.SQLException: No suitable driver"这样的错误时,通常意味着你的Java环境无法找到匹配的数据库驱动。这个问题的解决方法是确保已经正确地引入了MySQL JDBC驱动(也称为Connector/J)。 MySQL ...

    Tomcat中配置数据源JNDI

    - **异常2**: `Caused by: java.sql.SQLException: No suitable driver` - 表明没有找到合适的JDBC驱动。请确认驱动是否已添加至Tomcat的`lib`目录,并确保`driverClassName`属性指向正确的类名。 - **异常3**: `...

    ImpalaJDBC连接所需Jar

    Impala JDBC连接所需Jar文件是用于Java应用程序与Impala数据仓库进行交互的重要组件。Impala是Cloudera公司开发的一款高性能、低延迟的SQL查询引擎,适用于大数据分析。JDBC(Java Database Connectivity)是Java...

    kingbaseV8 jdbc 驱动

    Class.forName("com.kingbase.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e)...

    SSH异常总结

    一、持久性异常:Mybatis 连接数据库报错 No suitable driver found 持久性异常是指在使用 Mybatis 连接数据库时,报错 No suitable driver found。这种异常的原因是因为在 db.properties 配置文件中,jdbc.url ...

    kingbaseV8 jdbc 驱动 kingbase8-8.2.0.jar

    Java版本 人大金仓ESV8最新版驱动程序,学习使用国产化数据库操作。 金仓通用数据库,可视化操作,毫秒级数据处理,高效准确完成数据处理全过程。面向事务处理类、兼顾分析类应用领域场景,兼容Oracle、国产数据库等多...

    jsp 连接sql server 2021 连接不上的解决方法.docx

    2. **No suitable driver found**: 如果遇到“javax.servlet.ServletException: java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1034;DatabaseName=test2”的错误,这...

    flink-jdbc-driver

    Flink JDBC 驱动程序Flink JDBC 驱动程序是一个 Java 库... 从下载 flink-jdbc-driver-(VERSION).jar 并将其添加到$HIVE_HOME/lib 。 运行 beeline 并连接到 Flink SQL 网关。 您可以在 url 的查询参数中指定规划器(

    Gbase常见问题 Gbase常见问题

    **问题描述**:应用程序尝试执行SQL语句时出现“No Suitable Driver”异常。 **解决方案**: 1. **CLASSPATH配置**:检查应用程序的CLASSPATH环境变量是否包含了Gbase JDBC驱动的路径。如果未包含,需要将其添加到...

    JDBC-ODBC桥连access教程.docx

    2. "No suitable driver found for jdbc",表示Java找不到适合的数据库驱动程序。 3. "SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序",意味着没有配置正确的ODBC数据源...

    Weblogic10GR3详细安装手册及Hibernate支持

    - "No suitable driver found":检查JDBC驱动是否已添加到类路径。 - "Transaction already active":可能是因为事务管理不当,确保每次操作开始和结束时正确管理事务。 - "SessionFactory not initialized":...

    三歪教你学JDBC1

    例如,`java.sql.SQLException: No suitable driver found`表示没有找到匹配的数据库驱动,这通常是由于缺少驱动库或者URL格式错误导致的。 JDBC还支持事务管理,通过Connection的`setAutoCommit()`、`commit()`和`...

    tomcat6中配置JNDI方法

    - **错误2**: `Caused by: java.sql.SQLException: No suitable driver` - 解决方法:确认MySQL驱动包是否已经放入Tomcat的`lib`目录,并确保其版本与MySQL服务器兼容。 - **错误3**: `Name jdbc is not bound in ...

    JNDI数据源配置[文].pdf

    2. **`java.sql.SQLException: No suitable driver`** - 解决方法:确认MySQL驱动程序已添加至Tomcat的`lib`目录以及Web应用的`WEB-INF/lib`目录。 3. **`Name jdbc is not bound in this context`** - 解决方法...

    mysql连接jar包.rar

    这可能表现为异常如`No suitable driver found for jdbc:mysql://...`或者版本不兼容的错误提示。 要解决这个问题,你需要确保项目中引用的MySQL Connector/J jar包与运行的MySQL服务器版本相匹配。在这个情况下,...

    连接postsql数据库的java代码

    System.out.println("No suitable driver found."); e.printStackTrace(); } catch (SQLException e) { System.out.println("Error connecting to the database."); e.printStackTrace(); } return conn; } ...

    oracle+ora-各种常见java.sq

    - `java.sql.SQLException: No suitable driver found for.jdbc:oracle:thin:@localhost:1521:ORCL`: 这意味着Java无法找到适合的Oracle JDBC驱动。确保已添加ojdbc驱动到项目的类路径,并正确配置数据库URL。 2. ...

    Tomcat5.5数据源的配置[图解]

    请注意,配置过程中可能出现的错误,如“Cannot create JDBC driver of class”或“No suitable driver”,通常是因为驱动类未正确加载或者数据库URL格式错误。确保已将对应的JDBC驱动库(如`sqljdbc.jar`)添加到...

Global site tag (gtag.js) - Google Analytics