开发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 的解析与解决方案 #### 问题背景 在进行Servlet开发过程中,尤其是在尝试连接数据库时,遇到了一个常见的异常:“java.sql.SQLException: No ...
当你遇到"java.sql.SQLException: No suitable driver"这样的错误时,通常意味着你的Java环境无法找到匹配的数据库驱动。这个问题的解决方法是确保已经正确地引入了MySQL JDBC驱动(也称为Connector/J)。 MySQL ...
- **异常2**: `Caused by: java.sql.SQLException: No suitable driver` - 表明没有找到合适的JDBC驱动。请确认驱动是否已添加至Tomcat的`lib`目录,并确保`driverClassName`属性指向正确的类名。 - **异常3**: `...
Impala JDBC连接所需Jar文件是用于Java应用程序与Impala数据仓库进行交互的重要组件。Impala是Cloudera公司开发的一款高性能、低延迟的SQL查询引擎,适用于大数据分析。JDBC(Java Database Connectivity)是Java...
Class.forName("com.kingbase.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e)...
一、持久性异常:Mybatis 连接数据库报错 No suitable driver found 持久性异常是指在使用 Mybatis 连接数据库时,报错 No suitable driver found。这种异常的原因是因为在 db.properties 配置文件中,jdbc.url ...
Java版本 人大金仓ESV8最新版驱动程序,学习使用国产化数据库操作。 金仓通用数据库,可视化操作,毫秒级数据处理,高效准确完成数据处理全过程。面向事务处理类、兼顾分析类应用领域场景,兼容Oracle、国产数据库等多...
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 驱动程序Flink JDBC 驱动程序是一个 Java 库... 从下载 flink-jdbc-driver-(VERSION).jar 并将其添加到$HIVE_HOME/lib 。 运行 beeline 并连接到 Flink SQL 网关。 您可以在 url 的查询参数中指定规划器(
**问题描述**:应用程序尝试执行SQL语句时出现“No Suitable Driver”异常。 **解决方案**: 1. **CLASSPATH配置**:检查应用程序的CLASSPATH环境变量是否包含了Gbase JDBC驱动的路径。如果未包含,需要将其添加到...
2. "No suitable driver found for jdbc",表示Java找不到适合的数据库驱动程序。 3. "SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序",意味着没有配置正确的ODBC数据源...
- "No suitable driver found":检查JDBC驱动是否已添加到类路径。 - "Transaction already active":可能是因为事务管理不当,确保每次操作开始和结束时正确管理事务。 - "SessionFactory not initialized":...
例如,`java.sql.SQLException: No suitable driver found`表示没有找到匹配的数据库驱动,这通常是由于缺少驱动库或者URL格式错误导致的。 JDBC还支持事务管理,通过Connection的`setAutoCommit()`、`commit()`和`...
- **错误2**: `Caused by: java.sql.SQLException: No suitable driver` - 解决方法:确认MySQL驱动包是否已经放入Tomcat的`lib`目录,并确保其版本与MySQL服务器兼容。 - **错误3**: `Name jdbc is not bound in ...
2. **`java.sql.SQLException: No suitable driver`** - 解决方法:确认MySQL驱动程序已添加至Tomcat的`lib`目录以及Web应用的`WEB-INF/lib`目录。 3. **`Name jdbc is not bound in this context`** - 解决方法...
这可能表现为异常如`No suitable driver found for jdbc:mysql://...`或者版本不兼容的错误提示。 要解决这个问题,你需要确保项目中引用的MySQL Connector/J jar包与运行的MySQL服务器版本相匹配。在这个情况下,...
System.out.println("No suitable driver found."); e.printStackTrace(); } catch (SQLException e) { System.out.println("Error connecting to the database."); e.printStackTrace(); } return conn; } ...
- `java.sql.SQLException: No suitable driver found for.jdbc:oracle:thin:@localhost:1521:ORCL`: 这意味着Java无法找到适合的Oracle JDBC驱动。确保已添加ojdbc驱动到项目的类路径,并正确配置数据库URL。 2. ...
请注意,配置过程中可能出现的错误,如“Cannot create JDBC driver of class”或“No suitable driver”,通常是因为驱动类未正确加载或者数据库URL格式错误。确保已将对应的JDBC驱动库(如`sqljdbc.jar`)添加到...