Search code examples
javaoracleojdbcwebsphere-9

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


I am using Websphere Applicationserver 9.0.0.8 and an Oracle 12.1.0.2.0 database.

In Websphere Admin GUI I successfully created an Oracle JDBC provider and a datasource from this provider which connects to the Oracle database ("Test connection" in GUI returned "The test connection operation for data source ... was successful".

Because of some characteristics of my database and web application I need to set the Oracle specific property "fixedString=true" on the connection.

In Tomcat I would configure this in context.xml the following way which works (i.e. while accessing my application on Tomcat I don't get any errors):

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

In the Websphere Admin GUI I tried to set the connection property the following way:

JDBC -> Datasources → my_datasource → Custom properties → New

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

→ OK → Save

But If I test my connection via "Test connection" I receive a warning and in the logfile SystemOut.log I can see the following lines:

[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.

Also when I start my web application on Websphere applicationserver I receive typical errors which show me that the property wasn't set properly.

Can someone please guide me how to set the connection property "fixedString=true" in a Websphere 9 / Oracle environment properly?


Solution

  • After many frustrating tests a colleague of mine found out how to set the property properly:

    JDBC → Datasources → my_datasource → Custom properties → New

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