我正在使用瘦Oracle JDBC驱动程序版本10.2.0(ojdbc14.jar).我想手动配置其NLS_LANG设置.有办法吗?
目前,它从VM变量user.language(通过设置当前区域设置或从系统环境启动时自动设置)获取此设置.
当用户将应用程序区域设置切换到Oracle JDBC驱动程序不支持的区域设置(例如mk_MK)时,这是一个问题.在这种情况下,下次我获取连接时,我得到以下异常:
ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified
我可以在获取连接之前动态更改语言环境,然后来回切换回用户选择的语音,但这看起来不那么优雅且效率低下.
我已经从http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index-083047.html安装了Oracle 11g Express Edition,并且还安装了SQL Developer,但是当我尝试连接到Oracle时Developer中的数据库(我尝试创建新连接)出现下一个错误:
Ora00604错误发生在递归级别1 ORA - 12705.
我应该输入什么:主机名,端口和SID
TNSNAMES提供如下:
XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DYedilkhan-??)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))
Run Code Online (Sandbox Code Playgroud) 我们遇到以下ORA错误,它以不同的语言显示错误消息。这种情况很少发生,我们将不得不重新启动应用程序服务器。在我的分析中,我可以发现,虽然连接数据库JDBC时会像下面这样采用用户的语言环境在内部更改会话
ALTER SESSION SET TIME_ZONE='America/Los_Angeles' NLS_LANGUAGE='LATIN AMERICAN SPANISH' NLS_TERRITORY='LAOS'
Run Code Online (Sandbox Code Playgroud)
Oracle团队说,不存在称为LATIN AMERICAN SPANISH的语言,请从应用程序一侧检查它的设置。我们很难弄清楚它发生在哪里。
我的项目概述,这是一个使用以下技术堆栈开发的Web应用程序。1. Oracle 11g 2. Spring MVC 3.2.3 3. Hibernate 3.5.6 4.具有集群的JBOSS应用服务器。
以下是从数据库团队方面提取的日志。
*** 2016-05-26 05:23:40.831
*** SESSION ID:(58.51587) 2016-05-26 05:23:40.831
*** CLIENT ID:() 2016-05-26 05:23:40.831
*** SERVICE NAME:(NACCO) 2016-05-26 05:23:40.831
*** MODULE NAME:(JDBC Thin Client) 2016-05-26 05:23:40.831
*** ACTION NAME:() 2016-05-26 05:23:40.831
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
----- Error Stack Dump -----
ORA-12705: No se puede acceder a los archivos de datos …Run Code Online (Sandbox Code Playgroud)