2012年6月27日 星期三

Ubuntu 12.04


## 用來取得遠端更新伺服器的套件檔案清單。
sudo apt-get update

## 更新套件
sudo apt-get -y dist-upgrade

## 清除更新時所下載回來的更新(安裝)檔案
sudo apt-get clean

## 安裝 User and Group 設定程式
## search and install gnome-system-tools
sudo apt-get install gnome-system-tools

## CPU 溫度監控
sudo apt-get install lm-sensors
sudo sensors-detect
   ## YES to Last step and find the follow message on screen
   To load everything that is needed, add this to /etc/modules:
   #----cut here----
   # Chip drivers
   coretemp
   it87
   #----cut here----

sudo modprobe coretemp
sudo modprobe it87
sensors

2012年6月26日 星期二

SQL 函數 (Oracle Database)

數字轉 16 進位
to_char(p_value,'XXXXXXXX')

由後往前
instr('ALL.FILE.CSV.TXT', '.', -1)  --回傳(13),最後一個
substr('ALLFILE.CSV.TXT', -4, 4)   --回傳(.TXT)

UTF8 轉 BIG5,其中'ZHT16MSWIN950'已包含'ZHT16BIG5'字集
convert(p_string, 'ZHT16MSWIN950', 'AL32UTF8')

Day
to_char(sysdate,'Day')
to_char(sysdate,'Day','NLS_DATE_LANGUAGE = American')

首字母大寫
initcap('ABCDE')

ascii
chr(65)   <=>  ascii('A')
chr(90)   <=>  ascii('Z')
chr(97)   <=>  ascii('a')
chr(122)  <=>  ascii('z')

最大 and 最小
greatest(5,9,4)
least(5,9,4)

months_between
months_between(sysdate, '26-JAN-2012')
months_between(p_end_date, p_beg_date)

mod
mod(M, N)   ==> M/N

次方
power(2, 10)  ==> 210 = 1024

2012年6月8日 星期五

桌面捷徑參數

1.PuTTY
於桌面捷徑內輸入完整路徑+連線資訊
用滑鼠雙擊可自動連線(慎用!有密碼被看光之風險!)
"C:\Program Files\Putty\putty.exe" -ssh username@hostname -pw xxxxx

BULK_COLLECT 與 FORALL


大量資料時的 select, insert, update, 適時使用 BULK_COLLECT 與 FORALL 可增加程式效能

DECLARE
   TYPE rec_type IS TABLE OF emp%rowtype INDEX BY PLS_INTEGER;
   rec        rec_type         ;
BEGIN

   select em.*
     bulk collect
     into rec
     from emp  em
    order by 1;

   forall i in 1 .. rec.count
   save exceptions
   insert into emp_temp2
   values (9999, sysdate, rec(i).empno, rec(i).ename, rec(i).sal);

EXCEPTION
  when others then
    dbms_output.put_line('There are '|| sql%bulk_exceptions.count ||' exceptions');
    for m in 1 .. sql%bulk_exceptions.count loop
        dbms_output.put_line(SQL%bulk_exceptions(m).error_index || ' -- ' ||
                             m || ' -- ' ||
                             SQL%bulk_exceptions(m).error_code || ' -- ' ||
                             SQLERRM(-SQL%bulk_exceptions(m).error_code)  );
    end loop;
END;
/

2012年6月5日 星期二

RealVNC

對方系統是 Win7 時
VNC Server 預設安裝路徑應該是"C:\Program Files\RealVNC\VNC Server"
先將路徑內 vncserver.exe 設為"以系統管理員身份執行此程式"(內容->相容性->特殊權限等級)
並建立兩個文件 viewerip.txt 及 vncconnect.cmd
viewerip.txt 只打上己方的 ip
vncconnect.cmd 則貼上下列指令
@echo off
for /F %%c in (viewerip.txt) do (
cd "C:\Program Files\RealVNC\VNC Server"
vncserver -service -connect %%c
goto :end
)
:end

1.需要連線時, 己方須開啟 VNC Viewer Listening Mode
2.如己方是浮動ip, 則先請對方將 viewerip.txt 內的 ip 更新
3.雙擊 vncconnect.cmd 即可完成連線

這種方式最主要是盡可能的簡化對方的設定操作步驟
同時解決對方電腦躲在分享器後面及兩方都是浮動ip的問題
(可省去到系統匣找 VNC 選單跟連線功能, 僅僅只需要改文字檔的 ip 跟點兩下滑鼠)
當然如果自己也在分享器後面, 就要設定 5500 port forward


如果是己方是固定ip
將對方電腦內 vncserver.exe 捷徑拉到桌面
於內容->捷徑->目標內後面加補參數" -service -connect 固定ip"即可


------------------------------------------------------------------------------------
若己方是用 Ubuntu 12.04 已預設裝上 Remmina Remote Desktop Client
可不必安裝 RealVNC 來開 Listen Mode
可選擇 VNC - Incoming Connection 進入 Viewer 端 Listen Mode 模式


------------------------------------------------------------------------------------
-- 以下是較早版本在 winXP 下的使用方式, 也可以視情況使用
-- for RealVNC 4.1.3 & Windows XP
Server端:
將"C:\Program Files\RealVNC\VNC4\winvnc4.exe"拉至桌面為捷徑,
於目標路徑後加入參數-noconsole -connect
完整路徑:"C:\Program Files\RealVNC\VNC4\winvnc4.exe" -noconsole -connect
雙擊捷徑輸入 Viewer 端 IP 即可完成連線


2012年6月4日 星期一

SQL 參數設定


set pagesize 0                  -- 每頁行數(0:不分頁)
set linesize 1000               -- 每行字數
set space    0                  -- 欄位間空幾個space
set heading off                 -- 顯示表頭
set feedback off                -- 回應執行結果  ex. 10 row selected.
set verify off                  -- 顯示執行時輸入的變數
set trimout on                  -- 刪除行尾空白
set term off                    -- 顯示 script 執行結果
set echo off                    -- 顯示 script 的命令
set termout off                 -- 顯示 script 命令的執行結果
set trimspool on                -- 刪除 spool 行尾空白
set serveroutput on size 32767  -- spool buffer
set time off                    -- 顯示時間
set timing off                  -- 顯示執行花費時間
set numwidth 20                 -- 預設數字長度

spool d:\log.txt
select * from user_objects;
spool off;

2012年6月3日 星期日

Windows 與 Unix-Like 換行符號


Windows是13 (Line feed) + 10 (Carriage return)
Unix-Like則只有10 (Carriage return)
當使用者在Unix-Like系統下的時候
兩者皆可以正常換行(在畫面上13是以一個空格來呈現)
而在windows下有些文字編輯器有自動轉換的功能
但預設的文字編輯器notepad並沒有轉換的功能

以上的狀況是發生在UTF8系統輸出BIG5檔案
一直錯以為是轉碼不完全造成
其實是在2Tier架構下Client端都是win系統
但到了3Tier下執行程式與產生檔案的是AP Server(Unix)
而User使用的幾乎是win才會造成這種情形