在我们的开发机器中,我们正在使用Websphere Apllication Server Liberty访问Oracle数据库。要配置不区分大小写或不区分重音的排序,我们将server.xml文件的数据源会话配置为:
<dataSource id="MyDS" jndiName="jdbc/MyDS" type="javax.sql.DataSource">
<jdbcDriver javax.sql.DataSource="oracle.jdbc.pool.OracleDataSource" libraryRef="OracleJDBC"/>
<connectionManager maxPoolSize="10" minPoolSize="2"/>
<properties.oracle URL="jdbc:oracle:thin:@xx.xxx.xxx.xxx:1521:database" password="..." user="..." />
<onConnect>ALTER SESSION SET nls_sort = binary_ai</onConnect>
<onConnect>ALTER SESSION SET nls_comp = linguistic</onConnect>
</dataSource>
在生产机器中,我们使用Websphere Apllication Server。要配置dataSource配置,需要转到管理控制台,资源> JDBC>数据源。尽管我能够连接到数据源,但是我无法找到一种方法来注入上面的ALTER SESSION命令。
我怀疑需要在“自定义属性”页面中添加新属性。我尝试使用两个命令(用';'分隔)添加属性 onConnect ,但是它不起作用。即使是谷歌搜索,也找不到令人满意的答案。
有人知道如何进行此配置吗?
谢谢
拉斐尔·阿方索
答案 0 :(得分:1)
要在传统的WebSphere上执行此操作,请转到WebSphere Application Server data source properties
下的Additional Properties
并选中validate new connections
。在Validation by SQL query
部分中提供您的SQL语句。
答案 1 :(得分:0)
Alex给出的答案是传统的WebSphere Application Server中最简单的方法。为了完整性,我想指出传统的WebSphere Application Server中还有另一种方法,即定义一个custom data store helper并重写doConnectionSetup方法以执行所需的SQL命令。 )。如果无法在Validation by SQL query
属性中指定多个SQL命令,则可能需要这种方法。在这种情况下,请将Validation by SQL query
留空,并且不要选择validate new connections
或Validate existing pooled connections
中的任何一个。
答案 2 :(得分:-1)