Heim >Datenbank >MySQL-Tutorial >derby(cloudscape)数据库初探

derby(cloudscape)数据库初探

WBOY
WBOYOriginal
2016-06-07 15:15:511359Durchsuche

1. 该数据库可在IBM和Apache两处下载,cloudscape是derby数据库的商业版本,由IBM赠送与Apache后的称呼。 Apache一方目前版本是Derby 10.1.0.0 alpha (Apr 28, 2005 / SVN 165185)。由于alpha版,而且Derby 10.0.2.2 (Apr 28, 2005 / SVN 165169)版本的数据

1.         该数据库可在IBM和Apache两处下载,cloudscape是derby数据库的商业版本,由IBM赠送与Apache后的称呼。
Apache一方目前版本是Derby 10.1.0.0 alpha (Apr 28, 2005 / SVN 165185)。由于alpha版,而且Derby 10.0.2.2 (Apr 28, 2005 / SVN 165169)版本的数据库提供的附加工具及少,所以我是去IBM网站下载的数据库。
IBM网站目前版本是V10.0.2.0  Build: 30301,提供3种类型的下载,有installer的linux,win32和没有installer一个单一的zip包文件。win32中包括jdk1.4,考虑到我的机器已经被迫安装了n个jdk,故此我下载了单一zip包的cloudscape。IBM下载地址为:
http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0408cline/index.html,需要以自己的mail作为id注册一个用户才能下载。
2.         下载后运行java –jar 10.0-IBM-Cloudscape.jar,出现安装界面,在这里需要指定安装目录,需要注意的是安装目录尽量不要带有空格。
3.         安装完后需要进行一些环境变量的设置,请根据自己的实际情况增加以下环境变量:
数据库安装目录环境变量:
CLOUDSCAPE_INSTALL= D:\IBM\Cloudscape_10.0
classpath中增加:
.;%CLOUDSCAPE_INSTALL%\lib\derby.jar;%CLOUDSCAPE_INSTALL%\lib\derbynet.jar;%CLOUDSCAPE_INSTALL%\lib\derbytools.jar;%CLOUDSCAPE_INSTALL%\lib\db2jcc.jar;%CLOUDSCAPE_INSTALL%\lib\db2jcc_license_c.jar
path中增加:
%CLOUDSCAPE_INSTALL%\frameworks\NetworkServer\bin
4.         现在就可以对数据库进行操作。该数据库提供两种模式的数据库引擎:1. 服务器架构中充当客户机/服务器的引擎。2. 作为可嵌入类库的数据库引擎。在c/s引擎应该比较了解。可嵌入类库的数据库引擎就是和java程序运行在同一JVM中,不需要启动数据库,不需要对数据库进行管理(对这个我也知道个大概,呵呵)。
1.C/S模式下的数据库访问:
打开dos界面,敲入startNetworkServer启动数据库,再打开一个dos界面敲ij以进行数据库管理。
在D:\IBM\Cloudscape_10.0\demo\databases下有一toursDB的demo数据库,我们要连至该数据库我们可以在ij下敲入:connect 'jdbc:derby:net://localhost:1527/"D:\IBM\Cloudscape_10.0\demo\databases\toursDB"'
例如以下我是对数据库的一些简单操作:
--连接数据库:
ij> connect 'jdbc:derby:net://localhost:1527/"D:\IBM\Cloudscape_10.0\demo\databases\toursDB"';
--创建一个名为abc的表:
ij> create table abc (a int, b int);
0 rows inserted/updated/deleted
--往abc表中插入数据,没into还报错,用sybase用习惯了。
ij> insert abc values(1,2);
ERROR 42X01: DB2 SQL error: SQLCODE: -1, SQLSTATE: 42X01, SQLERRMC: Encountered "abc" at line 1, column 8?42X0(?代表一个怪字符,spaces上发布的时候提示“此空间暂时不可用”,没办法只好用?代替啦,发现问题浪费了我十几分钟时间,TNND)
--这次数据进去了
ij> insert into abc values(1,2);
1 row inserted/updated/deleted
--察看刚才插入的数据
ij> select * from abc;
A          |B
-----------------------
1          |2
1 row selected
--断开数据库连接,没有任何信息输出
ij> disconnect;
--退出ij
ij> exit;
注意命令结束符是分号“;”
如果要停止数据库在dos中敲入stopnetworkserver即可。
2.可嵌入类库模式下对DB的访问(该模式下不需要启动数据库,且ij中只能有一个连接操作数据库)
我的toursDB数据库目录为C:\IBM\Cloudscape_10.0\demo\databases下,如果我们DOS界面所在的目录已经在在该目录,则进入ij后直接敲入“connect 'jdbc:derby:toursDB';”就可以连接至数据库,否则得指定数据库所在路径“connect 'jdbc:derby:C:\IBM\Cloudscape_10.0\demo\databases\toursDB';”。下面是我对数据库的一些访问:
ij> connect 'jdbc:derby:toursDB';
ij> select * from cities;
CITY_ID    |CITY_NAME               |COUNTRY                   |AIRPORT                   |LANGUAGE
       |COU&
----------------------------------------------------------------------------------------------------
------------
1          |Amsterdam               |Netherlands               |AMS                       |Dutch
       |NL
……………………………等等
87 rows selected
ij> disconnect;
ij> exit;
C:\IBM\Cloudscape_10.0\demo\databases>
其中cities是toursDB数据库自带的一个表,其它的表还有airlines, countries,flightavailability,flights,flights_history,maps。
关于数据库的一些操作命令可在ij下敲入help;进行察看,详细的帮助信息在D:\IBM\Cloudscape_10.0\doc\pdf中,IBM的developerWorks下的DB2有很多介绍cloudscape相关技术的文章,网址:
http://www-128.ibm.com/developerworks/cn/index.html。 还有IBM的在线帮助手册有3本是中文的,网址:http://www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/pbi.cgi?CTY=US&FNC=ICL,进去后选择cloudscape。

 

 

嵌入式引擎作为db不是很清楚其工作方式,后来考虑了下大概就是个强大的Access数据库,这种方式下我觉得将它作为Access数据库来进行理解比较直观些。

目前我就用了eclipse下访问derby的3个插件:

1)        ibm和apache的两个插件一起使用,安装后在java项目点击右键后出现“Apache Derby”,里面有一个菜单“Add Apache Derby nature”,点击后将出现start、ij、sysinfo工具,这个插件就这些东西。

2)       用Quantum或dbedit插件访问derby.dbedit插件比较强大些,可以可视的进行表的alert操作,好像没有proc,view的显示界面。Quantum有proc,view的显示界面,但是没法可视进行添加表功能。两个都有可视sql edit界面。我没搞定如何用derby的jdbc进行对数据库的访问,只能用db2的jdbc访问,url为:jdbc:db2://localhost:1527/"C:\IBM\Cloudscape_10.0\demo\databases\toursDB"

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn