`

How To Update NLS_SORT Parameter Value When Using 10g Thin JDBC Driver ? [ID 469

阅读更多

Applies to:

JDBC - Version: 10.2 to 11.1.0
Information in this document applies to any platform.

Goal

When using 10gR2 or 11g  Thin JDBC driver, the session NLS_SORT parameter is not set with the expected value (for instance 'CROATIAN'  instead of 'BINARY').
How to make sure that your session uses the expected session  NLS_SORT  parameter value?

Solution

Here are three options to set the NLS_SORT session  parameter with the 10gR2  Oracle JDBC Thin driver.

  • Using java locale setting
    The value of the used NLS_SORT parameter depends on the locale that has been set when running the java program. Therefore by setting the language and the region on startup of the java process the NLS_SORT parameter can be influenced. To do so start the java program as following:
    java  -Duser.lang=en  -Duser.region=US  <jdbc_program>


  • Set NLS_SORT within your Java application
    Add code to your java program that alters the database session when retrieving a connection to connect to the database. The code would look like:
    ...
    String s_alter = "alter session set NLS_SORT=BINARY";
    Statement stmt = null;
    stmt = p_connection.createStatement();
    stmt.execute( s_alter );
    ...


  • Set the value via a trigger when connecting to the database server
    To make sure that this parameter NLS_SORT is set for every connection done to the database, you can also use a database trigger that sets the value after the users connect. Note that this 'trigger option'  will work  when accessing database server  with  the JDBC Thin driver (not with the OCI  JDBC driver, you can refer to  the enhancement request Bug 3967004).   Here is sample of  a Logon trigger (change <user> with the name of the actual user for which the parameter should be set):
    CREATE OR REPLACE TRIGGER <user>.TRG_ONLOGON_CHANGE_NLS_SORT
    AFTER LOGON ON <user>.SCHEMA
    BEGIN
      execute immediate 'ALTER SESSION SET NLS_SORT = BINARY';
    END;
    /

 

分享到:
评论

相关推荐

    oracle10g(nls_charset12.jar)以及oracle11g (orai18n.jar)

    在Oracle 10g和11g版本中,数据库系统提供了丰富的功能和优化,包括对Java应用程序的支持,使得开发者可以通过JDBC(Java Database Connectivity)接口与Oracle数据库进行交互。在给定的压缩包文件中,我们关注的是...

    NLS_LANG切换字符集快捷工具.bat

    快速通过NLS_LANG切换字符集快捷工具设置客户端字符集,避免连接多个不同字符集的数据库导致PL/SQL工具显示乱码的问题。

    nls_charset12.jar oracle 10

    nls_charset12.jar 之前在csdn上下载的这个文件有问题,导致程序调试了很久 我这边上传这个没有问题

    nls_charset12.jar

    总的来说,解决Oracle 11g存储过程传入数组空值的问题需要深入理解Oracle的PL/SQL编程、NLS字符集概念以及异常处理策略。通过熟练掌握这些知识,我们可以编写出能够有效处理各种输入的高效且健壮的存储过程。

    Oracle的NLS_DATE_FORMAT设置(日期格式设置)_ITPUB博客.mhtml

    Oracle的NLS_DATE_FORMAT设置(日期格式设置)_ITPUB博客.mhtml

    nls_charset12.jar,ojdbc14.jar

    Oracle 10G JDBC连接是Java开发者在与Oracle数据库交互时常用的一种技术。JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的...

    nls_charset12 ojdbc14

    ojdbc14是Oracle JDBC驱动的第4版,主要针对Oracle 10g数据库系统设计。这个驱动使得Java应用程序能够连接到Oracle数据库,执行SQL语句,处理结果集等数据库操作。ojdbc14相比于早期版本可能包含了一些性能优化和新...

    Oracle客户端 NLS_LANG 的设置方法

    ### Oracle客户端 NLS_LANG 的设置方法 #### 一、NLS_LANG 参数的组成与意义 在Oracle客户端中,`NLS_LANG`是一个重要的环境变量,它用于定义客户端的语言环境设置,包括语言、地域以及字符集等。这对于确保客户端...

    nls_cp1251.rar_NLS_translation

    标题 "nls_cp1251.rar_NLS_translation" 暗示了这是一个与字符集编码转换相关的资源,特别是关于CP1251编码。CP1251是Windows操作系统中用于东欧语言,尤其是俄语、保加利亚语、白俄罗斯语、乌克兰语等的一种字符...

    ojdbc14.jar nls_charset12.jar orai18n.jar

    oracle关于字符集的jdbc驱动,orai18n.jar nls_charset12.jar 支持集合的驱动程序 将java的集合转换为数据库集合类型 oracle10g及以下版本使用 nls_charset12.jar,以上的版本使用orai18n.jar

    PB连ORACLE10免客户端

    标题中的“PB连ORACLE10免客户端”指的是使用PowerBuilder(PB)12.5连接Oracle 10g数据库时,不需安装完整的Oracle客户端软件,而是采用一种轻量级或者精简的方式进行连接。这种方法可以减少系统资源的占用,简化...

    nls_cp852.rar_NLS_translation

    标题 "nls_cp852.rar_NLS_translation" 指涉的是一个关于字符集转换的资源,特别是CP852编码的翻译表。NLS(National Language Support)是计算机科学中的一个术语,用于描述软件系统如何支持多种语言和区域设置。在...

    NLS_equation_Agrawal.rar_NLS equation_pulse propagation_split_sp

    标题中的"NLS_equation_Agrawal.rar"指的是非线性薛定谔方程(Nonlinear Schrödinger Equation, NLS),这是光纤通信、量子光学以及许多其他领域中研究脉冲传播的一个基本数学模型。Agrawal的名字通常与光学领域的...

    oracle class12.jar nls_charset12.jar存储过程接收数组空值

    "oracle class12.jar nls_charset12.jar存储过程接收数组空值"这个标题所描述的,就是关于在Oracle 11g中解决这个问题的具体实践。 首先,`class12.jar`和`nls_charset12.jar`是Oracle数据库的Java存根库,它们包含...

    oracle__汉字排序

    | PARAMETER | VALUE | |--------------------|-------------------| | NLS_LANGUAGE | AMERICAN | | NLS_NCHAR_CHARACTERSET | UTF8 | | NLS_TERRITORY | AMERICA | | NLS_CURRENCY | $ | | NLS_ISO_CURRENCY | ...

    STAR_NLS_非线性自回归_STAR模型_STAR_最小二乘平滑_

    4. **优化算法**:为了找到最小二乘问题的最优解,可以使用fminsearch或fminunc等优化算法(STAR_NLS_fminsearch.m、STAR_NLS_fminunc_fixPhi.m、STAR_NLS_fminunc.m)。这些算法迭代调整参数,以减小残差平方和。 5...

    nls_cp950.rar_CP950_translation

    标题 "nls_cp950.rar_CP950_translation" 暗示了这是一个与字符集编码相关的资源,特别是CP950编码在嵌入式Linux环境中的转换表。描述进一步证实了这一点,提到了"Charset cp950 translation tables for Embedded ...

Global site tag (gtag.js) - Google Analytics