[97] Derby 資料庫 與 作業二

資管系大二下學期選修課程
授課教授:XO

版主: b80203, ghost3401, XO, maa, kelly19881227

分享到: Facebook

[97] Derby 資料庫 與 作業二

文章XO » 週六 3月 07, 2009 5:04 pm

班上有了許多優秀小老師之後,原以為「懶」一下,就會「有事弟子服其勞」... 結果...
LAN (懶ㄇㄟ) 了半天,都沒見同學來分享這一塊「大餅」-- 作業二

我課堂上亮給同學的是這麼寫的... (紅色框起來部分是作業二,繳交日期:3/12/2009 上課當天凌晨 00:00 前)

圖檔

上面圖中幾個網址分享如下:

話說... 這禮拜上課 (3/5 Lecture#3) 我們有 Went through Derby Plug-ins User Guide...

圖檔

咦!XO 這個 Help 畫面怎麼跟我的不一樣?
呵呵~~~ Eclipse 內建那郭 Browser 看 Help 字太小,沒得調整,於是我網路上學來一招: Windows --> Preferences ...

圖檔

設完... 再 Help --> Help Contents
ㄟ!啥?看不到 Derby Plug-ins User Guide? 安裝了沒呀? ;)

作業二 只要跟著這 Derby Plug-ins User Guide 走一回,邊走邊嚐嚐這 Eclipse 裡的 DTP (Data Tools Platform) ...
_____

嫌這作業太沒挑戰性的把所附的 h2 資料庫(在哪兒?你說呢?^o^),裝起來也玩一遍,有心得的到版裡還分享一下你的喜悅囉!

圖檔
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章ghost3401 » 週日 3月 08, 2009 6:34 am

分享一下心得! :D
  • 指令如果忘記打分號下一行也可以補打分號。
  • 這點我不知道為什麼...
    因為連結方式有兩種,一種是透過 network client driver
    另一是透過 embedded driver 連結 Derby database,如果交互一直 connect 測試(我一直亂弄 :shock: ),就會出現
    代碼: 選擇全部
    ERROR XJ040: Failed to start database 'mydb', see the next exception for details.
    ERROR XSDB6: Another instance of Derby may have already booted the database
                 D:\workspace\Dearby\mydb.

    以上類似的訊息,應該是因為沒有正常斷線 (disconnect),使用完 ij,修改完資料庫後應該要打指令 disconnect;,斷線離開資料庫
    這樣可以避免上述問題。如果還是無法解決,就把工作管理員的 javaw.exe 通通關掉,apache derby server 重新啟動,就可以解決。
  • ij 其實就是.. Interactive SQL scripting tool ... running SQL statements prior to coding JDBC calls. 。
  • 大小寫在 ij 命令列下無差別,包括檔名、指令。

另外就是問題Q:
  • 兩種不同的 connect 方式,是因為我們都是連到本機 (localhost) 所以感覺似乎都一樣嘛?利用 network client driver 是不是也可以
    連到別人資料庫呀!?
  • 老師您作業的第五題 (connect a database via programming API),只需要片段程式語法,如何建立連線就ok了嗎!?還是需要完整
    的程式碼 :shock:
  • Help 裡面的程式碼... 是不是我們以後遲早都要自己寫出來... 不能夠 cut & paste了.... :oops: (好像白問了 :( )
ghost3401
繼續深造的研究生
 
文章: 473
註冊時間: 週四 9月 07, 2006 9:07 am
來自: 基隆偏遠地帶

Re:[97] Derby 資料庫 與 作業二

文章XO » 週日 3月 08, 2009 7:50 pm

話說這資料庫連結的方式有多種,看看圖吧... (剛出爐,還燒燙燙的唷...)

圖檔

圖檔

一般資料庫 (Derby 屬於這一類) 只有上述兩種連結模式。上禮拜夾檔裡所附的 h2 以及 Open Office 裡所採用的
HSQLDB 資料庫,則還有一種 In Memory 模式,顧名思義就是把資料庫直接建置在記憶體裡:

圖檔
最後由 XO 於 週二 4月 06, 2010 6:52 pm 編輯,總共編輯了 2 次。
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章XO » 週日 3月 08, 2009 8:02 pm

Sepulcher 寫:不好意思,想問一下大家上課時作業2,how to create a schema
老師的範例是:...create schema web authorization me;
紅色的字各代表什麼意思??


你說勒?
再說作業二的第一題做了不也就得到回覆?

上課漏聽了,也不打緊的呀...
我剛剛拿 create schema 向 Google 神明求籤... 籤曰...

圖檔
最後由 XO 於 週日 3月 08, 2009 8:14 pm 編輯,總共編輯了 1 次。
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章ghost3401 » 週日 3月 08, 2009 8:10 pm

喔喔暸改,感謝老師。(老師我還有兩個問題您沒回答ˊˋ)

所以H2的速度很快囉,是存在記憶體當中,比機械式的硬碟還快多囉! :D
ghost3401
繼續深造的研究生
 
文章: 473
註冊時間: 週四 9月 07, 2006 9:07 am
來自: 基隆偏遠地帶

Re:[97] Derby 資料庫 與 作業二

文章XO » 週日 3月 08, 2009 8:10 pm

ghost3401 寫:另外就是問題Q:
  1. 兩種不同的 connect 方式,是因為我們都是連到本機 (localhost) 所以感覺似乎都一樣嘛?利用 network client driver 是不是也可以
    連到別人資料庫呀!?
  2. 老師您作業的第五題 (connect a database via programming API),只需要片段程式語法,如何建立連線就ok了嗎!?還是需要
    完整的程式碼 :shock:
  3. Help 裡面的程式碼... 是不是我們以後遲早都要自己寫出來... 不能夠cut paste了.... :oops: (好像白問了 :( )


  1. 問題1 詳樓上剛出爐的貼圖。
  2. 問題2 只需 載入Driver 部份,以及 資料庫連線的建立 部份即可。要附上完整 Sample 程式尤佳。
  3. 問題3 Cut & Paste 就不必了... 自己弄個虛構範例,練習一下吧!期中機測好歹得自己從頭自己來一遍的啦!
最後由 XO 於 週一 3月 09, 2009 5:15 pm 編輯,總共編輯了 1 次。
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章XO » 週一 3月 09, 2009 9:18 am

ghost3401 寫:比較大的問題是,範例JAVA程式中,好多都是利用從來沒看過的類別.....Request.. Context..Connection, Statement , ..等,
其實好像也還好齁,多練習了 :roll: 感謝老師!


Not to worry...
We will be covering those this coming Thursday.
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章XO » 週四 3月 26, 2009 3:10 pm

demoboy 寫:
XO 寫:話說這資料連結的方式有多種,看看圖吧... (剛出爐,還燒燙燙的唷...)

一般資料庫(Derby 屬於這一類)只有上述兩種連結模式。上禮拜夾檔裡所附的 h2 以及 Open Office 裡所採用的
HSQLDB 資料庫,則還有一種 In Memory 模式,顧名思義就是把資料庫直接建置在記憶體裡:
圖檔


剛剛在此準備明天要考試的東西
以上的圖有個不懂之處...
上圖是使用 h2 的資料庫, 為什麼圖片上用的 driver 是用 derby 的而不是用 h2 driver
derby 和 h2 不是不一樣的 datebase 嗎?
那怎麼會用同一樣的 driver?


呵呵~~~ 圖片雷同,拷來拷去,抄得太兇了... 結果一時不察... 多謝這位帥哥眼尖... 待會兒修訂去!(Done)
瞧!今天若不是另一位美女眼尖幫我挑出 lifcycle 裡漏打了 e,搞不好又得在那裡瞎忙一翻!

謝謝囉! 今天手工打造勞斯萊斯,倒帶一次後有沒好一些?
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章XO » 週四 3月 26, 2009 9:16 pm

ghost3401 寫:
ooxx29 寫:今天上課用自己手工打造的方法佈署

想請問一下
如果想完全不用到 eclipse
讓網頁連 DB 存取資料的話
需要做甚麼設定嗎

還是直接用 NotePad 寫就可以了?


有呀,lib 裡面要放 derby 的jar (內嵌式放 derby.jar、Server Based 的放 derbyclient.jar)!這樣就可以了!


寫程式當然是至少需要一個編輯器囉!
此外我們原先設定的 CLASSPATH 並沒有涵蓋資料庫的驅動程式庫。

以 Derby 為例,若要使用 Embedded Driver 需要把 C:\Program Files\Sun\JavaDB\lib\derby.jar 加到
CLASSPATH 路徑裡。

若是要以 Server based 方式連接資料庫的話,則要把 C:\Program Files\Sun\JavaDB\lib\derbyclient.jar
加到 CLASSPATH 路徑裡。

當然囉... 若是要以 Server based 方式連接資料庫的話,還要會啟動資料庫的伺服器。這也挺簡單的 JavaDB\bin
底下有個 startNetworkServer.bat 批次檔可以用來啟動 Derby Database Server。
(事實上那裡還有一鍋子好用的批次檔耶!)

就醬子... 今天手工打造工夫全可以用上。
最後由 XO 於 週二 4月 06, 2010 7:08 pm 編輯,總共編輯了 2 次。
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章XO » 週五 3月 27, 2009 1:20 am

chime 寫:這個東西讓我想到, 說不一定應用在分散式演算,類神經會很好玩!


呵呵~~~~ 你是在捉狹我這老頭子嗎?
看不懂耶! ;)
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章XO » 週五 5月 01, 2009 2:18 pm

XO 寫:
ghost3401 寫:
XO 寫:
謝謝囉! 今天手工打造勞斯萊斯,倒帶一次後有沒好一些?


感覺比較清楚了,操作多幾次也熟練許多!


嗯!那就好!
我呢... 則要感嘆「年輕就是有趣」... 上課前我也總是練了再練,但...
也還是有些遺漏記不住的地方! <sigh> 現在做事真是「事倍功半」! ;)


今天師母對我說:「台上十分鐘、台下十年功!」

我:「...」 (佩服到無言以對!) ^o^

也更能體會「傳道、授業、解惑」的不易,每週為四小時課 備課所花費的那諸多小時背後,其實還要靠粉多
經年累月累積下來的「功」...

嗯!還真是「任重而道遠」
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[97] Derby 資料庫 與 作業二

文章XO » 週二 4月 06, 2010 7:17 pm

頂一下去年這一篇...
我們今年 2010 ([98] 學年度) 截至目前為止,都只練習了第一圖中所示的 Embedded 模式。
Embedded 模式下,如圖所示,擷取資料庫內容的驅動程式,被鑲在應用程式裡,只有這支程式可以透過它來
獨享連接的資料庫。

圖二 Network Server 模式 與 圖三 In memory 模式,咱們找時間再來分享!

piker11 會在 [98] 試試把 WTP Tour 改用 H2 資料庫 該討論串裡,第3頁最底層這:
http://eoffice.im.fju.edu.tw/phpbb/view ... 8821#28821有那些困擾,其實從他文章附圖
、以及跑出TCP/IP Monitor 視景來、... 等跡象顯示,... 他應該是誤闖入 Network Server 模式。

XO 寫:話說這資料庫連結的方式有多種,看看圖吧... (剛出爐,還燒燙燙的唷...)

圖檔

圖檔

一般資料庫 (Derby 屬於這一類) 只有上述兩種連結模式。上禮拜夾檔裡所附的 h2 以及 Open Office 裡所採用的
HSQLDB 資料庫,則還有一種 In Memory 模式,顧名思義就是把資料庫直接建置在記憶體裡:

圖檔
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5473
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.


回到 Web程式設計

誰在線上

正在瀏覽這個版面的使用者:Google [Bot] 和 3 位訪客