Derby笔记
Derby作为一个轻量级的pure java的数据库,在小型系统和程序的内嵌式应用上具有天然的优势。Derby在开发阶段作为测试数据库用也是一个不错的idea。 Derby对开发的支持也是很周到的,有Derby Eclipse插件的支持,在MyEclipse中也直接内嵌了Derby。So Derby is chaming...于是在Eclipse开发的一个小系统上用了Derby...and everythig seems to be going well...马上可以部署到应用环境了...er..some trouble...可能被Eclipse宠坏了,在应用环境中,Derby还得折腾一番,单独配置一下...
(一)安装Derby
??? 作为一个轻轻...量级的数据库,怎么可能有安装的概念呢?!本人是"极端绿色主义者",骨子了就痛恨"安转"。"安装"除了给OS留下一堆垃圾,but nothing。
??? 其实这里所谓的"安装",就是解压derby的二进制包(如db-derby-10.2.2.0-bin.zip),并把derby相关包(网络模式 会用到的包是位于db-derby-10.2.2.0-bin\lib下面的derby.jar,derbynet.jar和derbytools.jar)添加到classpath。
??? 但由于本人是"极端绿色主义者","极端"哦!so 在环境变量中添加classpath也是不能忍受的。但classpath还是要有的,所以我会在命令行过程中set classpath...
?
(二)启动Derby(网络模式)
现在假定Derby二进制包已经被解压到目录C:\Derby_Home ,and let's go...
1) micro-key + R ,把run窗口调出来,输入cmd ,按Enter。得到命令行输入窗口,切换当前目录到 C:\Derby_Home
2)设置环境变量。如果你已经在:系统属性-〉高级 -〉环境变量,下设置了derby.jar,derbynet.jar和derbytools.jar的classpath(为了告诉运行程序相关支持包的位置) 还有 java命令的path(为了可以运行java命令) ,那么本步骤可以跳过。下面是相关设置的命令:
〉set DERBY_HOME=C:\Derby_Home
〉set classpath=%classpath%;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derby.jar;
%DERBY_HOME%\lib\derbynet.jar;
>set path=%path%;D:\jdk1.6\bin;
3)classpath和path设置好后,就可以启动Derby了,命令如下:
C:\Derby_Home > bin\ startNetworkServer
如果见到如下类似的信息,说明Derby已经成功启动:
Apache Derby Network Server - 10.3.1.4 - (561794) 已启动并且已准备好 2008-06-23
?16:04:27.357 GMT 时在端口 1527 上接受连接
?
(三)设置数据库主目录
Derby数据库目录默认会放在C:\xxxx xxx\xxx , 在Eclipse下的Derby是在 x:\xxx 下 ... 本人对于Derby这一特性深感恐惧,万一哪天,你会狂呼:我的数据在哪里?!本人就经常忘记Derby的默认数据库目录,所以愧对大家,只能用xx表示拉。so 如果你要使用Derby,而且不想后悔,强烈推荐手动更改Derby的数据库存放目录!
OK,言归正传,有一个java的系统属性可以设置Derby的数据库目录:derby.system.home ,具体操作如下:
1)调出cmd,设置classpath 和 path (跟(二)的1)2)步骤一样)
2)下面的命令会设置数据库主目录,并调出工具工具ij (ij 是实现jdbc接口的一个工具...):
?? >java -Dderby.system.home=D:\DerbyDBHome org.apache.derby.tools.ij
如果见到如下信息,命令成功:
? ij 版本 10.3
? ij>
接着随手建立一个数据库测试看看,命令如下:
? ij>connect 'jdbc:derby:MyDbTest;create=true';
命令执行完毕后,如无意外,就可以在D:\DerbyDBHome下面看到文件夹MyDbTest,里面就是MyDbTest数据库的文件了。
?
?
待续...by pengyan
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1 楼 flyinglife 2008-07-27 写的相当不错,博主加油 2 楼 ljbal 2011-02-26 受用了,谢谢!www.szjotc.com