2012-02-15 65 views
0

我开发了一个带有java db数据库的应用程序。当我关闭netbeans IDE并显示消息“Error connected to server Localhost on port ...”时,我无法访问数据库记录。数据库是:在NetBeans外部访问Java数据库

String host="jdbc:derby://localhost:1527/Employee;create=true"; 
String user="admin"; 
String pass="admin"; 
con=DriverManager.getConnection(host,user,pass); 

如何解决问题?

回答

0

推测您的Derby数据库是在NetBeans中托管的?你需要创建一个独立的数据库。

+0

我下载了一个apche的Derby数据库,并希望mode.How我创建一个新的数据库连接到嵌入表单上我的Java应用程序,而不是服务器? – Xcoder 2012-02-16 07:51:48

0

可以使用用于JavaDB(又名德比)通过连接到一个JavaDB Network Server或者当你的应用程序打开的DB文件本身使用它as an embedded DB

当前,您的应用程序正在连接到由NetBeans启动的网络服务器,因为您的URL告诉连接到本地主机上的端口1527,即您的系统。

你需要做的是告诉你的应用程序使用JavaDB作为嵌入式数据库,即它应该管理数据库本身,而不是让Netbeans去做。你可以这样做只是将网址更改为类似:

jdbc:derby:Employee;create=true 

您可能需要根据在数据库文件相对于应用程序的工作目录存储来调整该URL。

只有一个应用程序可以一次打开数据库。所以当你这样做时,NetBeans将无法打开数据库,并且如果NetBeans打开了数据库,你的应用程序将无法打开它。因此,您可能会发现您想要将NetBeans重新配置为DB客户端。

1

Netbeans自动启动Derby服务器;你可以在“服务”标签(Ctrl-5)中看到。

如果您不使用Netbeans,则必须手动启动数据库服务器;请参阅doc

0

我猜NetBeans有一个嵌入式数据库实例。

尝试使用

 jdbc:derby:/MyFolder/MyDatabase/Employee;create=true 

 jdbc:derby:C:\MyFolder\MyDatabase\Employee;create=true 

,如果你不需要从多个应用程序访问数据库。

0

处理这些问题是创建批处理文件的最简单的方法.. 首先建立的你的java数据库程序..棘手的部分是要启动服务器。 jderby是一台服务器,因此需要启动它。这就是为什么您要在netbeans中启动服务器的原因。所以从“http://db.apache.org/derby/releases/release-10.8.2.2.html”下载db derby文件。在下载这些文件后,将netbeans项目复制到这些db jderby文件中..从数据库文件夹中将它们保存起来,并将它们粘贴到db jderby文件中..现在打开记事本并输入 @echo 启动(PATH) 启动(PATH) 第一个路径采用名为start network server的文件的路径。蝙蝠 第二路径把你的主项目的jar文件的路径。 现在你的记事本保存为SETUP.BAT和之后运行批处理文件..和UR程序将启动服务器,并同时运行你的应用程序... 注意:您可以设置使用不同的名字,任何你所选择的但延长的蝙蝠必须是可用