Oracle

Oracle JDBC OCI Driver

Setting the Environment Variable for Oracle JDBC OCI Drivers

For Oracle JDBC OCI drivers, you must perform the following:

  • Set the following environment variable before you configure the connection.
    Platform Environment Variable Setting
    Solaris*
    LD_LIBRARY_PATH=/ORACLE_HOME/lib
    HP*
    SHLIB_PATH=/ORACLE_HOME/lib
    AIX*
    LIBPATH=/ORACLE_HOME/lib
    Linux
    LD_LIBRARY_PATH=/ORACLE_HOME/lib
  • Check that the OCI client is configured correctly before you proceed.
Note: *If you are using Oracle 920 JDBC driver files with an Oracle 920 client to connect to different Oracle database versions, set the environment variable for your platform to /ORACLE_HOME/lib32.

DataSource

Transaction Type DataSource Class
NO_TRANSACTION, LOCAL_TRANSACTION
oracle.jdbc.pool.OracleDataSource
XA_TRANSACTION
oracle.jdbc.xa.client.OracleXADataSource

Driver Type Setting

Specify the parameters in the Other Properties field:

Parameter Description
driverType For Oracle JDBC OCI Driver version 8i:
driverType=oci8
For Oracle JDBC OCI Driver version 9i:
driverType=oci

Other transaction type settings

  • Adapter for JDBC supports the Oracle RAC TAF facility which provides failover support for Oracle v.9.2.x using an OCI driver. Under these circumstances you must use LOCAL_TRANSACTION connections.

Required Connection Property Fields

Driver Name Server Name User Password Database Name Port Number Network Protocol
Oracle JDBC OCI Driver Yes Yes Yes Yes Yes Yes

For more information about limitations, see Limitations.

Oracle JDBC Thin Driver

DataSource

Transaction Type DataSource Class
NO_TRANSACTION, LOCAL_TRANSACTION
oracle.jdbc.pool.OracleDataSource
XA_TRANSACTION
oracle.jdbc.xa.client.OracleXADataSource

Driver Type Setting

Specify the driver-dependent parameters based on the JDBC driver and the transaction type that the connection is using in the Other Properties field:

Parameter Description
driverType For example:
driverType=thin

Universal Connection Pooling

Specify the Universal Connection Pooling (UCP) related driver properties in the Other Properties field. For information about properties that must be set to use Oracle's UCP capabilities, see Universal Connection Pool Developer's Guide for the version of Oracle you are using. The required UCP related driver properties can be specified in the following format:
initialPoolSize=<INITIAL_POOL_SIZE>;minPoolSize=<MIN_POOL_SIZE>;
maxPoolSize=<MAX_POOL_SIZE>;inactiveConnectionTimeout=<INACTIVE_CONNECTION_TIMEOUT>;
maxConnectionReuseTime=<MAX_CONNECTION_REUSE_TIME>
Sample of the Other Properties field containing the required UCP related driver properties:
url=jdbc:oracle:thin:@(DESCRIPTION=(CONNECT_TIMEOUT=90)(RETRY_COUNT=50)(RETRY_DELAY=1)
(TRANSPORT_CONNECT_TIMEOUT=90)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)
(HOST=<oracle_server_host>)PORT=<port>)))CONNECT_DATA=SERVICE_NAME=<sid>)));
ConnectionFactoryClassName=oracle.jdbc.replay.OracleDataSourceImpl;initialPoolSize=5;
minPoolSize=10;maxPoolSize=20;inactiveConnectionTimeout=60;maxConnectionReuseTime=6

For more information about the Oracle versions supported and JARs to upload, see IBM webMethods Adapters System Requirements.

Kerberos Authentication

Specify the Kerberos authentication parameters in the Other Properties field in the following format:
connectionProperties={
oracle.net.authentication_services=(KERBEROS5),
oracle.net.kerberos5_mutual_authentication=true,
oracle.net.kerberos5_cc_name=<kerberoscache_file_path>}
where <kerberoscache_file_path> is the path to the file that has the stored ticket.

Synonym Support

Specify the following property to enable synonym support in the Other Properties field:

connectionproperties={includeSynonyms=true}

SSL Setting

  • If you have configured SSL connections between Adapter for JDBC and Oracle server, enter the TCPS port number of the Oracle server.
  • If you have configured SSL connections between Adapter for JDBC and Oracle server, enter tcp or tcps in the Network Protocol field.
  • If you have configured SSL connections between Adapter for JDBC and Oracle server, set the truststore alias name in the watt.server.ssl.trustStoreAlias property.
    • In Integration Server Administrator, select Settings > Extended.
    • Set the property, watt.server.ssl.trustStoreAlias to the truststore alias name created in Integration Server. Add the configuration parameter if it does not exist.
    For information on creating truststore aliases, refer to the IBM webMethods Integration Server Administrator’s Guide.

Required Connection Property Fields

Driver Name Server Name User Password Database Name Port Number Network Protocol
Oracle JDBC Thin Driver Yes Yes Yes Yes Yes No

For more information about limitations, see Limitations.

DataDirect Connect

DataSource

Transaction Type DataSource Class
NO_TRANSACTION, LOCAL_TRANSACTION and XA_TRANSACTION
com.wm.dd.jdbcx.oracle.OracleDataSource

Required Connection Property Fields

Driver Name Server Name User Password Database Name Port Number Network Protocol
DataDirect Connect No No No No No No

For more information about limitations, see Limitations.

Oracle Autonomous JDBC Thin Driver

DataSource

Transaction Type DataSource Class
NO_TRANSACTION, LOCAL_TRANSACTION
oracle.jdbc.pool.OracleDataSource
XA_TRANSACTION
oracle.jdbc.xa.client.OracleXADataSource

Driver Type Setting

Specify the driver-dependent parameters based on the JDBC driver and the transaction type that the connection is using in the Other Properties field:

Parameter Description
driverType For example:
driverType=thin

Other Properties

Specify the following properties in the Other Properties field:

Parameter Description
retry_count Number of times to retry after the initial attempt fails. For example:
(retry_count=20)
retry_delay Time (milliseconds) to delay the retry. For example:
(retry_delay=3)
service_name Name of the service to run. For example:
(service_name=xxx.adb.oraclecloud.com)
ssl_server_dn_match Flag to indicate if the SSL Server DN is a match. Possible values are:
  • yes
  • no. Default.
For example:
(ssl_server_dn_match=yes)
TNS_ADMIN Path to an autonomous wallet. An autonomous wallet is an encrypted folder that contains certificates and/or database credentials, such as username and password used to connect to the Oracle Database. The wallet is in the zip file format. You must unzip the wallet and add this path to TNS_ADMIN. For example:
TNS_ADMIN="C:\\XXX\\Wallet_XXXX"
Autonomous wallet prevents specifying usernames and passwords in a shell script or in an application database configuration file.
For example:
url=jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)
(address=(protocol=tcps)(port=1522)(host=adb.aaa-xxx.oraclecloud.com))
(connect_data=(service_name=sss.adb.oraclecloud.com))
(security=(ssl_server_dn_match=yes)))?TNS_ADMIN="C:\\XXX\\Wallet_XXXX"

Required Connection Property Fields

Driver Name Server Name User Password Database Name Port Number Network Protocol
Oracle Autonomous JDBC Thin Driver Yes Yes Yes Yes Yes Yes
Retry Count Retry Delay Service Name Database Name SSL Server DNS Match TNS ADMIN
Yes Yes Yes Yes Yes Yes

For more information about limitations, see Limitations.

Limitations

Driver Database/

Adapter IS Operating System/

Platform Affected

Limitation Description
  • Oracle JDBC OCI Driver
  • Oracle JDBC Thin Driver
All supported Oracle databases
  • The NUMBER and NUMBER(n,m) Oracle data types map to java.math.BigDecimal in all the adapter services by default.
  • BLOB and CLOB data types cannot be used in a table definition when configuring the adapter notifications.
  • Oracle JDBC OCI Driver
Oracle 8.0.5
  • When mapping a date data type to java.util.Date using the InsertSQL adapter service, you receive the following error:

    ORA-1024 Invalid data type in OCI call.

    As a workaround, map the date to java.sql.Timestamp.

  • When connecting to an Oracle 8.0.5 server using the OCI driver and trying to Insert BLOB and CLOB data types, you receive the following error:

    ORA-01461: can bind a LONG value only for insert into a LONG column.

  • Oracle JDBC OCI Driver
  • Oracle JDBC Thin Driver
HP-UX 11i Be sure to apply the HP-UX 11i Quality Pack (June 2002) and the PHSS_26138 on HP-UX 11i before configuring the adapter connection using an OCI driver; otherwise, you receive the following error:

Unresolved symbol :gethrtime (code).

  • Oracle JDBC OCI Driver
  • Oracle JDBC Thin Driver
HP-UX If all the adapter notifications are enabled for more than 18 hours, you receive the following error:

OCI-21503: program terminated by fatal error OCI-04030: out of process memory when trying to allocate 20056 bytes.

  • Oracle JDBC OCI Driver classes12
  • Oracle 8i, 9i, 10g, and 11g JDBC Thin Driver
All supported Oracle databases StoredProcedureWithSignature services and StoredProcedureNotificationWithSignature notifications do not work with Stored Procedures containing a parameter of type Oracle Cursor, when the ref cursor is declared as a cursor type that is defined as a strong type with the %ROWTYPE attribute. The workaround is to define the ref cursor as a weak type.
  • Oracle JDBC Thin Driver 9.0.1 (Mac OS )
  • Oracle JDBC OCI Driver
  • Oracle JDBC Thin Driver (all other OSs)
  • DataDirect driver shipped with Host Integration Server
Oracle 10g With Oracle Database 10g, you cannot configure adapter services or notifications with BINARY_DOUBLE or BINARY_FLOAT databases using the Adapter Service Editor. In these cases, if you try to insert a row, the corresponding JDBC data type does not appear in the Adapter Service Editor. As an alternative, use the CustomSQL adapter service when configuring services involving these data types.