posts - 23,comments - 66,trackbacks - 0
          Derby快速上手
          by lostfire

          Derby是IBM送給開源社區的又一個禮物,是一個pure java的數據庫,現在已經被列入到java1.6中。
          不知道對于大數據量的性能如何,但傳說中啟動derby只會給JVM添加2M的內存,對那些小數據庫應用,比如像用access那種應該是挺有誘惑力的。
          另外,麻雀雖小,五臟俱全,功能要比access多得多咯,包括事務處理,并發,觸發器都有,管理又簡單,因此自己用來做點工具正好合適。
          廢話少說,介紹一下我折騰了半天的經驗吧。
          我的Derby配置過程:
          1,下載db-derby-10.1.3.1-bin.tar.gz,derby_core_plugin_10.1.3.zip和derby_ui_plugin_1.1.0.zip,把兩個插件安裝到eclipse上
          2,打開ecllipse,新建一個project
          3,右鍵這個project,選擇Apache Derby,再選擇add apache derby native,發現只是給我的project添加了幾個derby的jar,還不是在我看著順眼的lib目錄里,索性干掉,換上db-derby- 10.1.3.1-bin.tar.gz解壓出來以后lib目錄下的jar文件,在Build Path里設置一下;
          4,右鍵Project,在apache derby里選擇start apache derby network server,控制臺可以看到derby啟動后打出的“服務器準備在端口 1527 上接受連接。”
          5,右鍵Project,在apache derby里選擇ij(Interactive SQL),啟動SQL控制臺;
          6,輸入connect 'jdbc:derby:testdb;create=true'; 注意要有單引號,可以在工程跟目錄下創建testdb數據庫,可以看到一個新建的目錄testdb,那里的文件就是數據庫咯;
          7,用標準的SQL語句來建一個數據庫試試:
          create table test (a varchar(4) not null, b char(2) primary key);
          居然可以用,太神奇了,呵呵
          8,再插入一條語句試試呢,insert into test(a,b) values('a','11');,嗯,不錯,可以用select 查出來的哦。
          9,再插一下:insert into test(a,b) values('a','11');,哦哦,報錯了,“錯誤 23505:語句異常終止,因為它導致“TEST”上所定義的“SQL060710092132480”標識的唯一或主鍵約束或唯一索引中出現重復鍵值。” 呵呵。
          10,好了,現在可以像你控制的其他數據庫一樣來控制Derby了。


          如果上述方法不行,或者你習慣了在eclipse之外使用和管理數據庫,那么可以很方便的把Derby“裝”在系統里。下面我說一下步驟:
          1,把db-derby-10.1.3.1-bin.tar.gz解壓到c:\derby,使lib和framework兩個目錄在c:\derby下邊即可
          2,設置環境變量
          • 設置一個c:\derby\framework\embeded\bin或c:\derby\framework\NetworkServe\bin到Path中,這樣我們就可以直接執行上邊介紹的connect這樣的命令而不用每次鉆到那個目錄下去執行了
          • 設置c:\derby\lib\derby.jar;c:\derby\lib\derbytoos.jar到CLASSPATH中,以便讓這些java編成的命令能夠正確執行;
          3,打開cmd
          4,敲入startNetworkServer,可以看到像在eclisp中提示的那樣啟動了server
          5,再打開一個cmd,敲入sysinfo,可以看到derby的環境信息了,注意在java user dir這一項,也許是java用戶目錄上和上邊看到的會有所不同哦,這樣在connect 'jdbc:derby:testdb;create=true';的建的數據庫目錄就不一樣咯。
          6,敲入ij,好了,進入到上邊的交互界面,可以建一個數據庫看看了。
          7,最后在另外一個cmd中敲入stopNetworkServer就可以關閉數據庫了。

          如果你兩種方法都試過了,那么需要注意的,還是上邊步驟5的問題,這個問題是你可能隨時會啟動一個數據庫或新建一個數據庫,但如果你剛剛使用derby,你可能還沒有察覺。
          derby實際上有兩種啟動方式,一種是嵌入式的,一種是網絡服務器的啟動。
          1,我們在eclipse中右鍵start apache derby network server那個,就是網絡服務器的啟動方式,在這種方式下可以用另外一臺計算機在ij中以:
          connect 'jdbc:derby://192.168.0.28:1527/testdb'
          的方式進行鏈接。
          2,第二種啟動方式是在ij里邊就直接
          connect 'jdbc:derby:testdb'
          這實際是在連當前配置環境java user dir下那個目錄的數據庫。

          看到這里可能有點糊涂了,這么就會出問題了那?
          實際上derby的訪問更像是一種使用derby driver對本地文件系統的訪問,不管啟動不啟動網絡服務器,都可以用driver訪問本地的數據庫。這樣,在ij里邊像第二種方式那樣建立連接是完全可以的。啟動了網絡服務器,只不過是能夠讓其他主機訪問罷了。

          另外一個問題是,在eclipse中和在系統中連接服務器,在connect的時候這個當前配置環境是不一樣的,eclipse默認工程所在路徑是數據庫的所在路徑,而在系統中“裝”derby則會認為 c:\document and settings下邊那個用戶目錄是數據庫的所在路徑。

          未完待續.....
          posted on 2006-07-10 22:47 rd2pm 閱讀(2184) 評論(3)  編輯  收藏 所屬分類: other

          FeedBack:
          # re: Derby快速上手
          2006-08-23 19:11 | 朱江波
          我剛接觸jsp,請教一下。
          我用的wtp all in one 的eclipse,如果用derby數據庫,還用上面的那些配置 嗎?  回復  更多評論
            
          # re: Derby快速上手
          2006-08-24 08:45 | lostfire
          這樣連是很好用的方法,也很方便調試,wtp是否需要要看里邊有沒有db connector吧  回復  更多評論
            
          # re: Derby快速上手
          2007-02-05 00:08 | cxz
          怎么裝derby呀,我什么方法都詩了,為什么我點擊右鍵就出不來那個Apache Derby菜單呀 :cry: :cry: :cry: 我的郵箱pire_cao@163.com,幫忙呀~~~~~~~~~~~  回復  更多評論
            

          主站蜘蛛池模板: 白银市| 衡南县| 双鸭山市| 兰考县| 嘉峪关市| 枣庄市| 江达县| 丰城市| 丹江口市| 舒城县| 天津市| 马关县| 德州市| 宝清县| 德兴市| 玉山县| 温宿县| 乐业县| 太原市| 保定市| 海南省| 大宁县| 叶城县| 延津县| 云林县| 鲁山县| 扶风县| 信丰县| 华蓥市| 三穗县| 禄劝| 西乌珠穆沁旗| 平乐县| 宽城| 山阳县| 融水| 舟曲县| 沽源县| 四平市| 承德县| 紫阳县|