如何在 Websphere 9 中设置连接 属性 "fixedString=true"

How to set connection property "fixedString=true" in Websphere 9

我正在使用 Websphere Applicationserver 9.0.0.8 和 Oracle 12.1.0.2.0 数据库。

在 Websphere Admin GUI 中,我成功地创建了一个 Oracle JDBC 提供程序和来自该提供程序的一个连接到 Oracle 数据库的数据源("Test connection" 在 GUI 中返回 "The test connection operation for data source ... was successful"。

由于我的数据库和 Web 应用程序的某些特性,我需要在连接上设置特定于 Oracle 属性 "fixedString=true"。

在 Tomcat 中,我将在 context.xml 中按照以下工作方式进行配置(即在 Tomcat 上访问我的应用程序时,我没有收到任何错误):

<Resource
  auth="Container"
  name="jdbc/ORACLE"
  type="javax.sql.DataSource"
  username="..."
  driverClassName="oracle.jdbc.driver.OracleDriver"
  password="..."
  connectionProperties="fixedString=true"
  url="jdbc:oracle:thin:@..."
/>

在 Websphere 管理 GUI 中,我尝试通过以下方式设置连接 属性:

JDBC -> 数据源 → my_datasource → 自定义属性 → 新建

Name: fixedString
Value: true
Type: java.lang.String

→ 确定 → 保存

但是如果我通过 "Test connection" 测试我的连接,我会收到一条警告,并且在日志文件 SystemOut.log 中我可以看到以下几行:

[8/27/19 16:04:10:079 CEST] 0000009a DSConfigHelpe W DSRA8200W: DataSource Configuration: DSRA8020E: Warning: The property 'fixedString' does not exist on the DataSource class oracle.jdbc.pool.OracleConnectionPoolDataSource.

另外,当我在 Websphere applicationserver 上启动我的 web 应用程序时,我收到典型的错误,显示 属性 设置不正确。

有人可以指导我如何在 Websphere 9 / Oracle 环境中正确设置连接 属性 "fixedString=true" 吗?

经过多次令人沮丧的测试后,我的一位同事发现了如何正确设置 属性:

JDBC → 数据源 → my_datasource → 自定义属性 → 新建

Name: connectionProperties
Value: fixedString=true
Type: java.lang.String