【发布时间】:2011-01-19 04:35:21
【问题描述】:
如果在数据库级别设置 Oracle 10g NLS 参数有任何问题,特别是我所在国家/地区的 NLS_TERRITORY 以及将时区设置为 UTC,请告诉我。
现在会不会有任何冲突,我们的 NLS_TERRITORY 设置为 AMERICA 不正确?
谢谢。
【问题讨论】:
标签: internationalization oracle10g nls nls-lang
如果在数据库级别设置 Oracle 10g NLS 参数有任何问题,特别是我所在国家/地区的 NLS_TERRITORY 以及将时区设置为 UTC,请告诉我。
现在会不会有任何冲突,我们的 NLS_TERRITORY 设置为 AMERICA 不正确?
谢谢。
【问题讨论】:
标签: internationalization oracle10g nls nls-lang
对于 Oracle,您通常必须谨慎使用 NLS 参数。文档总是一个好主意: NLS / Globalization stuff
请注意,NLS_TERRITORY 参数是从 NLS_LANG 派生的。因此,您应该能够通过更改 NLS_LANG 来影响 NLS_TERRITORY 参数。 (无论如何都应该同步。)
看完之后(请务必阅读),您可能会想“嘿,我们有现有数据,更改参数后是否需要对其执行任何转换?”
还请记住,任何使用此数据库的客户端软件都应将其 NLS_LANG(尤其是其中的字符集部分)设置为与数据库相同 - 否则数据可能被损坏。
【讨论】:
“数据库级别的 NLS 参数,特别是 NLS_TERRITORY”是什么意思?
如果您的意思是显示在 NLS_DATABASE_PARAMETERS 中的参数,那么一旦创建数据库就无法更改这些参数。但是,这些特定参数(NLS_[NCHAR]_CHARACTERSET 除外)仅用于 CHECK 约束和一些需要在数据库的整个生命周期中保持不变的其他表达式(例如 VPD)。因此,NLS_DATABASE_PARAMETERS 中的 NLS_TERRITORY 设置为什么并不重要。
【讨论】: