Oracle
從 SQL*Plus 中設置編碼
我有大量包含 SQL 命令的文件,這些文件是通過使用
@@
運算符的 SQL*Plus 腳本執行的。我在第三方電腦上執行腳本(甚至通過電子郵件發送),所以我想讓它盡可能獨立。文件編碼為 Win-1252。目前,我需要
NLS_LANG
在執行腳本之前設置環境變數:C:\> SET NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252 C:\> echo exit | sqlplus foo/bar@//example.com/xe @install.sql
這可行,但我想知道是否可以使用 SQL 或 SQL*Plus 命令更改客戶端編碼。(或者至少讀取該值並在它不匹配時中止執行。)
NLS_LANG
不能從會話內部更改,但其他設置可以。一旦建立數據庫連接(即: 的第二部分
NLS_LANG
),您就無法更改字元集,但您可以使用以下命令更改語言:alter session set NLS_LANGUAGE=SPANISH
…和領土:
alter session set NLS_TERRITORY=SPAIN