Friday, June 11, 2010

Q: What are SQLCODE and SQLERRM and why are they important for PL/SQL developers?

[類別] PL/SQL
[問題] 什麼是SQLCODE與SQLERRM,為什麼他們對PL/SQL開發者而言很重要?

Answer:

SQLCODE與SQLERRM都是用在exception handler裡。

SQLCODE會回傳exception的號碼,SQLERRM則是錯誤訊息內容。
最常見的用法就是搭配WHER OTHERS EXCEPTION使用:

DECLARE

   v_code NUMBER;

   v_errm VARCHAR2(64);

BEGIN

   ………

EXCEPTION

   WHEN OTHERS THEN

        v_code := SQLCODE;

        v_errm := TO_CHAR(SQLERRM(v_code));

        DBMS_OUTPUT.PUTLINE(‘ERRCODE ’ || v_code);

        DBMS_OUTPUT.PUTLINE(‘ERRMSG ’ || v_errm);

END;

重要性? 當然是... 你可以處理exceptions,知道更詳細的訊息囉。

vSphere Client: parsing the server “servername” “clients.xml” file

今天是2010/6/11,如果你在昨天或前天安裝了windows update,而且也有使用vSphere Client,恭喜,他死了=   =

2010-06-11_0012010-06-11_002好似確定是windows update(980773)造成的溜,vm的knowledge base有寫:

vSphere Client does not open on any Windows operating systems with the error: parsing the server "<servername>" "clients.xml" file

並且也在昨天釋放出新版的tools了,記得去更新的溜~

Wednesday, June 09, 2010

新手上路之: read/write NTFS driver for Linux

在進行了一個月的笨蛋異地備份方法之後,實在是受不了了...=   = 用WinSCP透過網路連到linux系統去拉檔案時在是太麻煩了... 尤其單個檔案很大時,超容易失敗OTZ

其實事情好像也滿容易解決的,只是因為對方是production,時在不敢直接在上面做實驗,只好花了兩天自己裝了一台機器,在上面做測試,成功!!

Environment: enterprise linux release5(update5)+ntfs-3g-2010.5.22

  1. 先下載NTFS-3G
  2. 丟到系統內並解壓縮
  3. 直接進入解壓縮的資料夾內,依照文件以root身份做一下三件事情:

    # ./configure
    # make
    # make install

  4. 沒錯! 這個moment就已經完成安裝了
  5. 接著就可以接上USB硬碟,並且辨識一下他的裝置名稱。這本書說linux會把USB視為scsi裝置,所以他的device name會是/dev/sd?(視你原本系統的裝置決定,像我的系統是用IDE硬碟,裝置是hda, hdb開頭,所以第一個scsi裝置就會是sda)
  6. 確定好裝置名稱之後,就可以把它mount起來(以/usb為mountpoint)

    # mount –t ntfs-3g /dev/sda1 /usb

  7. 完工!! =D

Ref:

  1. NTFS-3G
  2. 在Linux下使用USB拇指碟及外接式硬碟
Tuesday, June 01, 2010

Q: When is a DECLARE statement needed?

[類別] PL/SQL
[問題] 什麼時候需用到DECLARE語法?

Answer:
DECLARE是用在PL/SQL區塊(block)內。一個PL/SQL block被DECLARE, BEGIN, EXCEPTION, END四個關鍵字分成三個部份:

DECLARE

  -- Declarative part(optional)

  -- for declartions of local types, variables, subprograms

BEGIN

  -- Executable part(required)

  -- statements

  EXCEPTION

    -- Exception-handling part(optional)

END;

所以,當你有需要宣告變數等,就會把它放在DECLARE的區塊內。

Tags