問題描述有時,SQL*Plus中顯示的資料字型太小,怎樣改變SQL*Plus中顯示的字型大小?
問題分析Oracle中所使用的SQL*Plus有兩種,一種是基於MS-DOS的SQL*Plus,其對應的命令程式為sqlplus.exe,存放在D:/oracle/product/10.2.0/db_1/bin/目錄下。另一個是基於Windows的sqlplusw.exe。由於字型的改變對MS-DOS環境並無影響,因此,它僅對sqlplusw.exe有效,其主要原因是,在Windows環境下啟動sqlplusw.exe時,需要讀取註冊表,所以,更改字型的大小,只需更改註冊表資訊即可。
問題解答具體步驟如下。
步驟1:開啟註冊表定位於Oracle產品所在的入口項:hkey_local_machine/software/oracle/ key_OraDb 10g_home1。其中,key_OraDb 10g_home1是當前Oracle資料庫伺服器安裝的位置,如果安裝了另一個Oracle產品,則會出現HOME1,依次類推。3-10所示。圖3-10 登錄編輯程式
步驟2:在當前登錄機碼下,添加兩個“字串值”。 ·sqlplus_font,其值為“terminal”。 ·sqlplus_font_size,其值為14,或其他大小的值,如16、18等。
步驟3:關閉註冊表,啟動sqlplusw.exe即可生效。另外,與字型有關的是不同字元集資料的顯示問題。如果要更改在用戶端顯示的字元集,則在MS-DOS提示符下,更改參數nls_lang的字元集。例如,將參數nls_lang設定成繁體中文(Traditional Chinese),則命令為:set nls_lang=traditional chinese_taiwan.zht16mswin950如果設定成中文簡體(Simplified Chinese),則命令為:set nls_lang=simplified chinese_china.ZHS16GBK實際上,註冊表中nls_lang的參數值並沒有因為上面命令的執行而發生改變,其中的參數值是Oracle資料庫所採用的字元集。因此,只能在MS-DOS模式下,使用命令set nls_lang=language_territory.character_set來改變每個會話進程當前語言字元集下的顯示內容。這為不同的會話進程中顯示不同語言文字資訊提供了極大的方便。完成nls_lang參數更改後,便可啟動SQL*Plus,內容就會正確顯示。如果要永久性地改變nls_lang參數,則開啟“控制台”→“系統”→“環境變數”,從中建立新的環境變數nls_lang,其值為要更改的值,例如日文值為Japanese_Japan.UTF8。重新啟動系統即可生效。使用Administration Assistant for Windows也可以完成對Oracle資料庫字元集以及在SQL*Plus中改變字型等設定。首先,啟動Administration Assistant for Windows,然後,將各級目錄展開,在“Oracle主目錄”下找到“OraDB 10g_home1”,在其上單擊滑鼠右鍵,在出現的下拉式功能表中選擇“屬性”,出現對話方塊,3-11所示。從中選擇要編輯修改的項,修改其參數值即可。圖3-11有關OraDB 10g_home1的屬性