我在建立与本地Apache Derby(Java DB)数据库的连接时遇到了问题,这是我一直在研究的小游戏.抛出异常的代码如下所示:
public class DatabaseController {
private static Connection conn;
private final String url = "url=jdbc:derby://localhost:1527/GameDB;create=true";
private final String username = "pdc";
private final String password = "123";
/**
* Connects to the database.
*/
public void initialize() {
try{
//Open a connection
conn = DriverManager.getConnection(url, username, password);
} catch(SQLException e){
//Handle errors
Logger.getLogger(DatabaseController.class.getName()).log(Level.SEVERE, null, e);
}
}
}
当我运行代码时,我得到以下异常:
Oct 08, 2015 2:27:40 PM pdc.project.Controller.DatabaseController initialize
SEVERE: null
java.sql.SQLException: No suitable driver found for url=jdbc:derby://localhost:1527/GameDB;create=true
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at pdc.project.Controller.DatabaseController.initialize(DatabaseController.java:30)
at pdc.project.Controller.Main.main(Main.java:35)
Exception in thread "main" java.lang.NullPointerException
at pdc.project.Controller.DatabaseController.createTable(DatabaseController.java:63)
at pdc.project.Controller.Main.main(Main.java:36)
我尝试过以下方法:
>将derbyclient.jar添加到库中(并检查它是否位于Project> Properties> Libraries下的类路径中)
>将Java DB驱动程序添加到库中(并检查它是否位于Project> Properties> Libraries下的类路径中)
>使用Class.forName(“org.apache.derby.jdbc.ClientDriver”)注册驱动程序
>使用Class.forName(“org.apache.derby.jdbc.EmbeddedDriver”)注册驱动程序
>添加虚拟驱动程序
以及上述的组合.没有一个有效,我认为我的头发开始脱落.任何人都可以向我提供为什么它不会注册驱动程序的答案?
谢谢!
我正在使用Netbeans和JDK 1.8.
解决方法:
您的连接网址不应以字符“url =”开头.代替
private final String url = "url=jdbc:derby://localhost:1527/GameDB;create=true";
您的网址应以“jdbc:”开头,例如,
private final String url = "jdbc:derby://localhost:1527/GameDB;create=true";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。