我花了很多时间阅读以前的帖子,但他们似乎都没有帮助我。我正在尝试从NetBeans运行一个简单的Java应用程序,这里是最简单的代码:
final String DB_URL = "jdbc:derby:CoffeeDB;create=true";
try
{
// Create a connection to the database.
Connection conn = DriverManager.getConnection(DB_URL);
// If the DB already exists, drop the tables.
dropTables(conn);
// Build the Coffee table.
buildCoffeeTable(conn);
// Close the connection.
conn.close();
}
catch (Exception ex)
{
System.out.println("ERROR: " + ex.getMessage());
}
通常是导致问题的环境变量,但我已经检查了它们,它们似乎设置正确:
CLASSPATH: C:\ Program Files \ Java \ jdk1.7.0_17 \ db \ lib \ derby.jar; C:\ Program Files \ Java \ jdk1.7.0_17 \ db \ lib \ derbytools.jar;
DERBY_HOME C:\ Program Files \ Java \ jdk1.7.0_17 \ db
路径:(只有关于jdbc的部分) C:\ Program Files \ Java \ jdk1.7.0_17 \ db \ bin
我已经在命令提示符下使用ij创建了一个表,但是当我收到此错误时,我尝试通过Netbeans运行它。有趣的是,当我从命令提示符运行sysinfo时,它出现如下:
------------------ Java信息------------------
Java版本:1.7.0_17
Java供应商:Oracle Corporation
Java home:C:\ Program Files \ Java \ jre7
Java classpath:C:\ Program Files \ Java \ jdk1.7.0_17 \ db \ lib \ derby.jar; C:\ Program Files \ Java \ jdk1.7.0_17 \ db \ lib \ derbytools.jar; C: \ Program Files \ Java \ jdk1.7.0_17 \ db / lib / derby.jar; C:\ Program Files \ Java \ jdk1.7.0_17 \ db / lib / derbynet.jar; C:\ Program Files \ Java \ jdk1。 7.0_17 \ db / lib / derbyclient.jar; C:\ Program Files \ Java \ jdk1.7.0_17 \ db / lib / derbytools.jar
操作系统名称:Windows Vista
OS架构:amd64
操作系统版本:6.0
--->正如您所看到的,以前的类路径中添加了更多信息,而derbytools.jar和derby.jar会出现两次?结合反斜杠??
通过NetBeans进行调试时,异常来自DriverManager.java文件中的这一行:
Connection con = aDriver.driver.connect(url, info); <--------------- here
if (con != null) {
// Success!
println("getConnection returning " + aDriver.driver.getClass().getName());
return (con);
}
url是正确的:jdbc:derby:CoffeeDB; create = true但连接返回null并抛出SQLexception。有什么想法吗?
答案 0 :(得分:2)
异常消息“找不到合适的驱动程序...”表示没有加载的JDBC驱动程序接受该URL。这使得JDBC驱动程序很可能不会包含在应用程序的类路径中
从IDE运行java应用程序时,几乎总是忽略环境变量CLASSPATH
,并且总是从可执行jar运行。确保IDE中的构建路径实际上包含derby.jar,或者如果它是可执行jar,它将列在META-INF/manifest.mf
属性的Class-Path
中。
答案 1 :(得分:1)
您可以右键单击该项目并执行以下步骤...构建 - &gt;配置构建路径 - &gt;图书馆 - &gt;添加外部Jar ...现在您必须指定* .jar文件的路径。 简单示例https://github.com/mraab89/Tutorial_Java_Database_Connectivity_JDBC