我使用java db数据库开发了一个应用程序。当我关闭netbeans IDE并显示消息“错误连接到端口上的服务器Localhost时出错...”时,我无法访问数据库记录。我对数据库的连接代码是:
String host="jdbc:derby://localhost:1527/Employee;create=true";
String user="admin";
String pass="admin";
con=DriverManager.getConnection(host,user,pass);
如何解决问题?
答案 0 :(得分:1)
Netbeans自动启动Derby服务器;您可以在“服务”选项卡(Ctrl-5)中看到它。
如果您不使用Netbeans,则必须手动启动数据库服务器;请参阅doc。
答案 1 :(得分:0)
可能您的Derby数据库托管在NetBeans中?您需要创建一个独立的数据库。
答案 2 :(得分:0)
您可能必须在连接之前启动数据库(使用服务器模式)。查看来自java应用程序的Derby数据库连接的Vogella教程:http://www.vogella.de/articles/ApacheDerby/article.html
答案 3 :(得分:0)
当应用程序打开数据库文件本身时,您可以通过连接JavaDB Network Server或使用as an embedded DB来使用JavaDB(也称为Derby)。
目前,您的应用程序正在连接到由NetBeans启动的网络服务器,因为您的URL告诉您连接到localhost上的端口1527,即您的系统。
您需要做的是告诉您的应用程序将JavaDB用作嵌入式数据库,即它应该管理数据库本身,而不是让Netbeans代替它。您只需将URL更改为:
即可jdbc:derby:Employee;create=true
您可能需要调整该URL,具体取决于数据库文件相对于应用程序工作目录的存储位置。
只有一个应用程序可以同时打开数据库。因此,当您执行此操作时,NetBeans将无法打开数据库,并且如果NetBeans打开了数据库,您的应用程序将无法打开它。因此,您可能会发现要将NetBeans重新配置为数据库客户端。
答案 4 :(得分:0)
我想NetBeans有一个嵌入式数据库实例。
尝试使用
jdbc:derby:/MyFolder/MyDatabase/Employee;create=true
或
jdbc:derby:C:\MyFolder\MyDatabase\Employee;create=true
如果您不需要从多个应用程序访问数据库。
答案 5 :(得分:0)
处理这些问题的最简单方法是创建批处理文件。 首先构建你的java数据库程序..棘手的部分是启动服务器。 jderby是一个服务器,因此需要启动..这就是你在netbeans中启动服务器的原因。所以从“http://db.apache.org/derby/releases/release-10.8.2.2.html”下载db derby文件。下载这些文件后,将netbeans项目复制到这些db jderby文件中..去复制数据库文件夹,保存它们。然后将它们粘贴到db jderby文件中..现在打开记事本并输入 @回声 开始(PATH) 开始(PATH) 第一个路径采用名为start network server.bat的文件的路径 第二个路径采用主项目的jar文件的路径。 现在将你的记事本保存为setup.bat,然后运行批处理文件..你的程序将启动服务器并立即运行你的应用程序... 注意:您可以使用不同的设置名称,任何您选择但扩展名必须可用