1. 該數(shù)據(jù)庫可在IBM和Apache兩處下載,cloudscape是derby數(shù)據(jù)庫的商業(yè)版本,由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)版本的數(shù)據(jù)庫提供的附加工具及少,所以我是去IBM網(wǎng)站下載的數(shù)據(jù)庫。
IBM網(wǎng)站目前版本是V10.0.2.0 Build: 30301,提供3種類型的下載,有installer的linux,win32和沒有installer一個單一的zip包文件。win32中包括jdk1.4,考慮到我的機(jī)器已經(jīng)被迫安裝了n個jdk,故此我下載了單一zip包的cloudscape。IBM下載地址為:http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0408cline/index.html,需要以自己的mail作為id注冊一個用戶才能下載。
2. 下載后運(yùn)行java –jar 10.0-IBM-Cloudscape.jar,出現(xiàn)安裝界面,在這里需要指定安裝目錄,需要注意的是安裝目錄盡量不要帶有空格。
3. 安裝完后需要進(jìn)行一些環(huán)境變量的設(shè)置,請根據(jù)自己的實(shí)際情況增加以下環(huán)境變量:
數(shù)據(jù)庫安裝目錄環(huán)境變量:
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. 現(xiàn)在就可以對數(shù)據(jù)庫進(jìn)行操作。該數(shù)據(jù)庫提供兩種模式的數(shù)據(jù)庫引擎:1. 服務(wù)器架構(gòu)中充當(dāng)客戶機(jī)/服務(wù)器的引擎。2. 作為可嵌入類庫的數(shù)據(jù)庫引擎。在c/s引擎應(yīng)該比較了解。可嵌入類庫的數(shù)據(jù)庫引擎就是和java程序運(yùn)行在同一JVM中,不需要啟動數(shù)據(jù)庫,不需要對數(shù)據(jù)庫進(jìn)行管理(對這個我也知道個大概,呵呵)。
1.C/S模式下的數(shù)據(jù)庫訪問:
打開dos界面,敲入startNetworkServer啟動數(shù)據(jù)庫,再打開一個dos界面敲ij以進(jìn)行數(shù)據(jù)庫管理。
在D:\IBM\Cloudscape_10.0\demo\databases下有一toursDB的demo數(shù)據(jù)庫,我們要連至該數(shù)據(jù)庫我們可以在ij下敲入:connect 'jdbc:derby:net://localhost:1527/"D:\IBM\Cloudscape_10.0\demo\databases\toursDB"'
例如以下我是對數(shù)據(jù)庫的一些簡單操作:
--連接數(shù)據(jù)庫:
ij> connect 'jdbc:derby:net://localhost:1527/"D:\IBM\Cloudscape_10.0\demo\databases\toursDB"';
--創(chuàng)建一個名為abc的表:
ij> create table abc (a int, b int);
0 rows inserted/updated/deleted
--往abc表中插入數(shù)據(jù),沒into還報錯,用sybase用習(xí)慣了。
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上發(fā)布的時候提示“此空間暫時不可用”,沒辦法只好用?代替啦,發(fā)現(xiàn)問題浪費(fèi)了我十幾分鐘時間,TNND)
--這次數(shù)據(jù)進(jìn)去了
ij> insert into abc values(1,2);
1 row inserted/updated/deleted
--察看剛才插入的數(shù)據(jù)
ij> select * from abc;
A |B
-----------------------
1 |2
1 row selected
--斷開數(shù)據(jù)庫連接,沒有任何信息輸出
ij> disconnect;
--退出ij
ij> exit;
注意命令結(jié)束符是分號“;”
如果要停止數(shù)據(jù)庫在dos中敲入stopnetworkserver即可。
2.可嵌入類庫模式下對DB的訪問(該模式下不需要啟動數(shù)據(jù)庫,且ij中只能有一個連接操作數(shù)據(jù)庫)
我的toursDB數(shù)據(jù)庫目錄為C:\IBM\Cloudscape_10.0\demo\databases下,如果我們DOS界面所在的目錄已經(jīng)在在該目錄,則進(jìn)入ij后直接敲入“connect 'jdbc:derby:toursDB';”就可以連接至數(shù)據(jù)庫,否則得指定數(shù)據(jù)庫所在路徑“connect 'jdbc:derby:C:\IBM\Cloudscape_10.0\demo\databases\toursDB';”。下面是我對數(shù)據(jù)庫的一些訪問:
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數(shù)據(jù)庫自帶的一個表,其它的表還有airlines, countries,flightavailability,flights,flights_history,maps。
關(guān)于數(shù)據(jù)庫的一些操作命令可在ij下敲入help;進(jìn)行察看,詳細(xì)的幫助信息在D:\IBM\Cloudscape_10.0\doc\pdf中,IBM的developerWorks下的DB2有很多介紹cloudscape相關(guān)技術(shù)的文章,網(wǎng)址:http://www-128.ibm.com/developerworks/cn/index.html。 還有IBM的在線幫助手冊有3本是中文的,網(wǎng)址:http://www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/pbi.cgi?CTY=US&FNC=ICL,進(jìn)去后選擇cloudscape。