我知道数据库字符集(NLS_CHARACTERSET in select * from v$nls_parameters;)和客户端字符集(客户端环境设置NLS_LANG)是如何交互的。然而,我无法了解的是,对于已建立的会话,如何或是否可以确定Oracle认为当前客户端字符集是什么。NLS_LANG在客户端环境中设置为任意值(例如GERMAN_GERMANY.WE8MSWIN1252)
数据库应用程序*启动并建
到目前为止,我的java应用程序正在使用oracle数据库10.2 jdbc驱动程序和11.2数据库。我计划升级,并看到下载链接提供的文本写着“除了NLS支持”。with JDK 8, JDK 7 and JDK 6: It contains the JDBC driver classes except classes for NLS support in Oracle
因此,我试图在CentOS Linux服务器上向OTRS发出SOAP请求。有人在Oracle数据库中为此制作了一个PL-SQL包,除非数据中有Umlaut ( made ),否则它可以正常工作。这就是我在linux错误日志中遇到的错误:
Feb 17 08:32:26 eotrs2 GenericInterfaceProvider-10[11317]: [Error][Kernel::GenericInterfaceOracle上的NLS_CHARACTERSET是AL32UTF8。服务器上的NLS_LAN of otrs