首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Oracle连接上设置区域设置

在Oracle连接上设置区域设置
EN

Stack Overflow用户
提问于 2011-03-14 05:58:15
回答 1查看 7.5K关注 0票数 4

在我公司的产品中,我们从数据库中检索结果,一次检索一页。因此,所有的过滤和排序都必须在数据库上完成。其中一个问题是编码值。要使过滤和排序正常工作,需要将代码值转换为查询中特定于区域设置的标签。

我的计划是使用一个类似于下面的表: t_code_to_label (类型varchar2(10),区域设置varchar2(10),代码varchar2(10),标签varchar2(50) )前三列是主(惟一)键。

使用此表时,您将看到如下所示的内容

select ent.name, ent.ent_type, entlabel.label as ent_type_label from t_entitlements ent join t_code_to_label entlabel on entlabel.type='entlabel' and entlabel.locale=currentLocale() and entlabel.code=ent.ent_type

问题是currentLocale()是我编造的。在JDBC连接的Java端,如何设置连接对象的语言环境,以便在Oracle端通过一个简单的函数读取。理想情况下,这是Oracle真正的语言环境支持,但我找不到这样的东西。

我使用的是Oracle 10g和11g。

EN

回答 1

Stack Overflow用户

发布于 2011-03-14 06:05:18

您是在谈论Oracle数据库的NLS_LANGUAGE设置吗?您是否希望(从客户端)指定Oracle数据库对特定NLS_LANGUAGE的使用?

那么这可能会起作用:Set Oracle NLS_LANGUAGE from java in a webapp

如果你想要一个“全美国”的会议,你可以这样做:

代码语言:javascript
复制
ALTER SESSION SET NLS_LANGUAGE= 'AMERICAN' NLS_TERRITORY= 'AMERICA' 
                  NLS_CURRENCY= '$' NLS_ISO_CURRENCY= 'AMERICA' 
                  NLS_NUMERIC_CHARACTERS= '.,' NLS_CALENDAR= 'GREGORIAN' 
                  NLS_DATE_FORMAT= 'DD-MON-RR' NLS_DATE_LANGUAGE= 'AMERICAN' 
                  NLS_SORT= 'BINARY'
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5292721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档