2009/01/31

Oracle NLS_LANG設定概念

Windows System NLS設定會根據作業系統版本與ACP(ANSI CodePage)Code設定,

一般如下, 但非絕對

繁體: TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950

簡體: SIMPLIFIED CHINESE_CHINA.ZHS16GBK

至於這衍伸出來的另外一個問題

因為Oracle有支援多國語言

這查詢的View有語言的條件限制 ViewSql如下:

Select * FROM mtl_item_templates_b base, mtl_item_templates_tl tl

WHERE base.template_id = tl.template_id

AND tl.LANGUAGE = userenv('LANG')

如果NLS_LANG已經根據Win作業系統設定為

TRADITIONAL CHINESE OR SIMPLIFIED CHINESE_CHINA

userenv('LANG')會抓取到’ZHT’ OR ‘ZHS’

這時在Client的工具又會查詢不到資料 (但是掛上系統的程式不會有此問題) …

最簡單的方式就是不使用此View

或是勤勞些在測式查詢時修改NLS_LANG即可

No comments: