我在为Em申明德比加载JDBC驱动程序时遇到了问题。以下是我编译和运行我的程序的案例
>
案例1:
编译:E:\java\WorkReminder
Run: E:\java\WorkReminder
错误:
无法加载JDBC驱动程序org . Apache . derby . JDBC . embedded driver。请检查您的类路径。Java . lang . classnotfoundexception:org . Apache . derby . JDBC . embedded driver at Java . net . URL class loader $ 1 . run(URL class loader . Java:200)at Java . security . access controller . doprivileged(Native Method)at Java . net . URL class loader . Java:188)at Java . lang . class loader . load class(class loader . Java:306)at sun . misc . launcher $ app class loader . load class(launcher . Java:268)at
案例2:如果我这样做,一切都很好
编译:E:\java\WorkReminder
更改目录:E:\java\WorkReminder
Run: E:\java\WorkReminder\class
输出:
已加载适当的驱动程序
已插入行。
2-----
1956年________ _____________河内
1975年_________ _____________西贡
SimpleApp已完成
有人可以帮我解释为什么我在案例 1 中出现错误,因为我正在编写更复杂的程序?我的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Properties;
public class MyDerbyProgram
{
/* the default framework is embedded*/
private String framework = "embedded";
private String driver = "org.apache.derby.jdbc.EmbeddedDriver";
private String protocol = "jdbc:derby:";
public static void main(String[] args)
{
new MyDerbyProgram().go(args);
System.out.println("SimpleApp finished");
}
void go(String[] args)
{
/* load the desired JDBC driver */
loadDriver();
try
{
Connection connection = DriverManager.getConnection(protocol + "testDB; create=true");
connection.setAutoCommit(false);
//Create table
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
statement.execute("create table location(num int, address varchar(40))");
//Insert
PreparedStatement psInsertStatement = connection.prepareStatement("insert into location values(?, ?)");
psInsertStatement.setInt(1, 1956);
psInsertStatement.setString(2, "Ha Noi");
psInsertStatement.executeUpdate();
psInsertStatement.setInt(1, 1975);
psInsertStatement.setString(2, "Sai Gon");
psInsertStatement.executeUpdate();
System.out.println("Row inserted.");
//Select
ResultSet resultSet = statement.executeQuery("select * from location");
int totalRows = 0;
resultSet.last();
totalRows = resultSet.getRow();
resultSet.beforeFirst();
System.out.println(totalRows + "-----");
String strPrintResult = "";
while(resultSet.next())
{
strPrintResult += resultSet.getString("num") + "___________________+_________________________" + resultSet.getString("address") + "\n";
}
System.out.println(strPrintResult);
//Drop table
statement.execute("drop table location");
//Commit transaction
connection.commit();
//Close
statement.close();
statement = null;
psInsertStatement.close();
psInsertStatement = null;
resultSet.close();
resultSet = null;
connection.close();
connection = null;
}
catch(SQLException se)
{
System.out.println(se.toString());
}
}
private void loadDriver() {
try {
Class.forName(driver).newInstance();
System.out.println("Loaded the appropriate driver");
} catch (ClassNotFoundException cnfe) {
System.err.println("\nUnable to load the JDBC driver " + driver);
System.err.println("Please check your CLASSPATH.");
cnfe.printStackTrace(System.err);
} catch (InstantiationException ie) {
System.err.println(
"\nUnable to instantiate the JDBC driver " + driver);
ie.printStackTrace(System.err);
} catch (IllegalAccessException iae) {
System.err.println(
"\nNot allowed to access the JDBC driver " + driver);
iae.printStackTrace(System.err);
}
}
private void parseArguments(String[] args)
{
if (args.length > 0) {
if (args[0].equalsIgnoreCase("derbyclient"))
{
framework = "derbyclient";
driver = "org.apache.derby.jdbc.ClientDriver";
protocol = "jdbc:derby://localhost:1527/";
}
}
}
}
问候
-cp
选项设置类路径,您不需要这个
请看这里
问题内容: 我在春季配置了一个netezza db。我在类路径中添加了依赖的nzjdbc.jar 春季配置: 问题答案: 将放入您的本地Maven存储库 (在该目录执行这个位于 然后像正常依赖项一样使用它: @请参阅安装第三方JAR的指南
我正在上使用。我试图弄明白如何使用数据导入从加载数据。但我最终无法加载JDBC驱动程序类。以下是我所做的: 把放到 1.配置: 2.配置: 在
问题内容: 我已经在两周前创建了一个程序(+ ),现在它在加载JDBC驱动程序时遇到了问题(到目前为止还没有发生)。因此,我的文件如下所示: 看来这个文件很清楚。但是,在我尝试创建bean 时无法加载JDBC驱动程序的主要问题是什么。 其它文件: 数据源文件 属性文件 错误: 任何人? 提前致谢 问题答案: 摆脱财产的尽头 Spring使用反射和该属性的值通过完全限定的类名加载实例。没有所谓的班级
我正在运行以下代码,但是我得到了关于Oracle类名称的错误。我已经用oracle jar文件设置了classpath环境变量,但它不起作用。有人能帮我吗?我不知道还能做什么。我真的很感谢你的帮助 这就是错误:由:java引起。sql。SQLException:无法加载JDBC驱动程序类“oracle”。jdbc。驾驶员OracleDriver's
问题内容: 有人告诉我,加载JDBC驱动程序的首选方法是: 我知道,这对于从XML配置文件或用户输入中读取多个驱动程序之间的动态决策更好。我很好奇的是,调用此语句如何将指定的驱动程序加载到我们什至没有将生成的“ Class”对象存储在任何地方的环境中。JavaDocs条目说: 返回与具有给定字符串名称的类或接口关联的Class对象 在那种情况下,Java开发人员仅凭此语句如何设法促进驱动程序对象的
即使驱动程序类名已定义,我也会收到此错误 Java语言lang.IllegalStateException:无法加载驱动程序类:com。mysql。jdbc。组织的驱动程序。springframework。util。明确肯定state(Assert.java:392)~[spring-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]位于org。springframewor