我有大量包含 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
),您就无法更改字符集,但您可以使用以下命令更改语言:...和领土: