2012-12-28 36 views
0

我做甲肝使用的Java Swing的Java应用程序启动德比数据库服务器和客户端。它使用derby db用于数据库和主机= localhost。 我可以启动数据库并将它连接到我的应用程序使用命令提示符在windows.But部署我的应用程序想要发生自动与我的java程序内的几行帮助。我尝试执行命令在一个。 BAT文件,但带命令行提示的是黑色的窗口始终保持打开状态,我不want.So我试着这样做: -用java

Process pserver=Runtime.getRuntime().exec("cmd /c set DERBY_HOME=E:\\db-derby-10.9.1.0-bin"); 

ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\Java\\jdk1.6.0_33\\bin\\java", "-jar", "E:\\db-derby-10.9.1.0-bin\\lib\\derbyrun.jar server start"); 
pserver= pb.start(); 

pserver=Runtime.getRuntime().exec("cmd /c set DERBY_INSTALL=E:\\db-derby-10.9.1.0-bin"); 

pserver=Runtime.getRuntime().exec("cmd /c start set CLASSPATH=%DERBY_INSTALL%\\lib\\derbyclient.jar;%DERBY_INSTALL%\\lib\\derbytools.jar;. "); 

我也使用API​​ http://db.apache.org/derby/docs/10.0/manuals/admin/hubprnt14.html -NetworkServerControl尝试。我无法理解要导入的包以及要包含哪些库。

有人请帮助我连接我与Derby数据库eitherby API的Java应用程序或使用过程和运行时类或一些更好的方法。

回答

1

也许你并不需要运行Derby作为网络服务器。你为什么不直接在嵌入模式下使用Derby?请参阅本节文档以获取更多信息:http://db.apache.org/derby/docs/10.9/getstart/cgsquck70629.html

+0

如果你的应用程序是唯一需要访问的东西,那么这是一条路。 – Bill

+0

感谢您的回复。现在我正在使用本地主机,但后来实时地这个程序打算在局域网中工作,在这个局域网中,很多PC都会访问德比数据库中的数据。现在幸运的是我能够使用API​​启动服务器。但我在执行我的第一个选择查询的行处遇到以下异常:java.sql.SQLSyntaxErrorException:表/视图'APP.NAME_OF_MY_TABLE'不存在。 –

1

我发现了什么问题了。我试图使用netbeans(JavaDB)的用户界面来启动数据库服务器,该用户界面仅在NetBeans IDE中工作,并且不会像程序中的其他组件那样自动在程序中放置任何代码。因此,要启动和停止外部环境中的数据库服务器,我必须明确键入代码,如http://db.apache.org/derby/docs/10.8/adminguide/tadminconfig814963.html中给出的那样。