IBM WebSphere WebSphere Adapter for JDBC, version 6.1.0.0_IF14 notes

This document contains the following sections:
Fixes
New and modified connector properties
Upgrade notes

Fixes
#Adapter versionCRAPARTitleDetails
16.1.0.0_IF1492333Add support for dynamic returned resultset from stored procedure.
Symptom: When the returned resultset number or order is not the same with EMD generated , JDBC adapter will lose some data or miss order some data of the returned resultset from stored procedure.
Resolution: JDBC adapter provide a choice for customer to select which BO mode to handler returned resultset. During EMD process , JDBC adapter provide a check box for customer to enable ResultSetBO mode or not. If user select ResultSetBO mode , JDBC adapter will not need user to input dummy value and run the stored procedure with dummy value , but replace with automated generate a set of BOs named ResultSetBO to handle returned resultset , without consideration with the resultset structure or order.(There are 2 BOs will auto generated , cursorBO and rowBO). During runtime , JDBC adapter will return the data from resultset into cursorBO and rowBO. This will solve the issue that JDBC adapter do not support dynamic returned resutlsets .
26.1.0.0_IF1375867JR30398NullPointerExceptin is thrown for parallel operation calls
Symptom: JDBC adapter failed to support parallel running operations .
Resolution: Fixed. Now users can call jdbc adapter in parallel operations
36.1.0.0_IF1275729JR30021Add property performTrimOnObjectKeyValue to JDBC inbound ActivationSpec.
Symptom: JDBC adapter always performs trimming on object key value even users don't hope so.
Resolution: Fixed. Now users can configure property performTrimOnObjectKeyValue to turn on/off the trimming of object key
46.1.0.0_IF1175639JR29817JDBC Adapter turncates precession of Timestamps upon retrival from the Database.
Symptom: When the JDBC adpater retrives a Timestamp from the database it and creates a Data object it looses the original presission of the Timestamp. The timestamps string from database has the following format: yyyy-mm-dd hh:mm:ss.fffffffff. The string format used to create the Date object is of format yyyy-mm-dd:hh:mm:ss.
Resolution: Fixed. Adapter now can handle type of Timestamp parameter with the same value input from Database.
56.1.0.0_IF1175642JR29816JDBC Adapter throws a Null Pointer exception when a SQL-TYPE *LOB field is Null.
Symptom: The JDBC adapter does not have adequate null value protection when retriving a SQL-TYPE *LOB field from the Database. This can cause a resource exception to be thrown when the *LOB is null. The following error message will occur: com.ibm.websphere.sca.ServiceRuntimeException: ResourceExceptionthrown in J2CMethodBindingImpl.invoke() javax.resource.ResourceException: javax.resource.ResourceException: java.lang.NullPointerException
Resolution: Fixed. Adapter now can handle SQL-TYPE *LOB parameters with null value input from Database.
66.1.0.0_IF1175640JR29815JDBC Adapter throws invalid parameter exception when query BO field is SQL-TYPE *LOB.
Symptom: The JDBC adapter fails to create the BO based on the ResultSet returned for a query BO with SQL-TYPE *LOB. The following error message is returned from the database: javax.resource.ResourceException: [ibm][db2][jcc][10143][10845] Invalid parameter 1: Parameter is not set nor registered.,errorcode: -99999
Resolution: Fixed. Adapter now can handle SQL-TYPE *LOB parameter in query BO fields.
76.1.0.0_IF1175697JR29965JDBC Adapter commit failed for Type CHAR BIT.
Symptom: The JDBC adapter fails to create the BO based on the ResultSet returned for a query BO with ByteArray type ASI. The following error message is returned from the database: javax.resource.ResourceException: com.ibm.db2.jcc.b.SqlException: [ibm][db2][jcc][10145][10897] Invalid parameter 3: Parameter index is out of range.
Resolution: Fixed. Adapter now can handle type of ByteArray parameter with the same value input from Database.
86.1.0.0_IF1075560JR29818Adapter throws StringIndexOutofBoundException when used to discover COBOL stored procedures having parameters without any names.
Symptom: The JDBC adapter External Service Discovery Wizard does not display the parameters for Cobol Stored procedures having parameters with no names. During the "Configuration Properties for 'sp_name'" step, the parameters are not displayed so user cannot enter sample values and hence the validation of stored procedure fails. If the user proceeds with the ESD they encounter a StringIndexOutOfBounds exception. The adapter is expecting valid parameter names to be returned from the metadata call to the database. In DB2, SQL stored procedures are required to define parameter names when they are added into the database. Parameter names are optional in DB2 for stored procedures written in various other languages including Cobol. The issue arises when the target stored procedure does not have a parameter name specified in their DDL.
Resolution: Fixed. In the ESD, adapter now displays dummy names for the parameters which don't have name so that user can provide sample values for the parameters and validate the stored procedure before proceeding with ESD.
96.1.0.0_IF0975536JR29677Empty wrapper business object is generated for no primary key table.
Symptom: For no primary key table, empty wrapper business object is generated even user selects some primary keys in external service discovery.
Resolution: Fixed. External service discovery can generate the wrapper business object for no primary key table.
106.1.0.0_IF0975532JR29641Adapter failed to handle array type input parameter in StoredProcedure type Business Object.
Symptom: If user put several different values in the array type input parameter, all the values in the array are replaced by the last one.
Resolution: Fixed. Adapter now can handle array type input parameter
116.1.0.0_IF0875548JR29757Adapter throws DataBindingException while processing stored procedures with no parameters.
Symptom: The adapter throws DataBindingException - "Failed to initialize curosr" when processing stored procedure with no parameters. This exeption may also be thrown when the generated business object does not contain any attributes.
Resolution: Fixed. Adapter now correctly processes stored procedures with no parameters.
126.1.0.0_IF0875538JR29679Database vendor property on "Service generation and deployment configuration" screen has wrong value.
Symptom: The adapter Enterprise service discovery does not retain the database vendor name selected by user on the "Connection information" screen. So the database vendor property value on the "Service generation and deployment configuration" screen is not always correct.
Resolution: Fixed. Adapter now correctly sets the value for database vendor property.
136.1.0.0_IF0875537JR29680NullPointerException when handling BLOB data.
Symptom: The adapter throws NullPointerException at runtime while processing resultset containing BLOB column returned from stored procedure execution when the data for BLOB column is null.
Resolution: Fixed. Adapter now correctly processes BLOB datatypes.
146.1.0.0_IF0875539JR29681The adapter fails to execute stored procedure with parameters of type decimal.
Symptom: During External service discovery, when user selects a COBOL stored procedure having parameter of type decimal, then on the configuration properties screen, adapter incorrectly sets the datatype for that parameter as String. So the validation of the stored procedure fails and the artifacts may not be generated correctly on completion of discovery wizard.
Resolution: Fixed. Adapter now correctly processes decimal datatypes.
156.1.0.0_IF0796402JR29391The adapter does not discover stored procedure schemas during external service discovery when connected to DB2 on z/OS.
Symptom: When you run the external service discovery wizard to connect to DB2 on z/OS and click Run Query on Object Selection and Discovery screen, adapter may not display the complete list of schemas. Adapter invokes getSchemas() api on the JDBC driver to get the list of schemas but for DB2 on z/OS, getSchemas() api does not return procedure schemas. In order to retrieve procedure schemas, you need to click Edit Query button and then check the "Discover stored procedures pertaining to stored procedure schemas" property. Then click Run Query to see the complete list of schemas.
Resolution: Fixed. Adapter now displays the complete list of schemas.
166.1.0.0_IF0696397JR29386The adapter generates ClassCastException at runtime while processing complex datatypes returned from stored procedure execution
Symptom: While processing Oracle stored procedures which return complex datatypes like STRUCT and VARRAY, adapter generates ClassCastException. This exeption is generated when adapter is configured to use datasource JNDI property set on the managed connection factory instance.
Resolution: Fixed. Adapter now correctly processes stored procedures which return complex datatypes even when adapter is configured to use datasource JNDI property.
176.1.0.0_IF0595701JR28449The adapter fails to execute stored procedures which return resultsets containing unnamed columns.
Symptom: While processing stored procedures which return resultsets, adapter expects queries for the resultset to contain names for all the columns in the query. When the stored procedure contains queries that do not have column names - for example, SELECT COUNT(*) FROM CUSTOMER - adapter would fail to process these resultsets, and generate NullPointerException.
Resolution: Fixed. Some databases such as Oracle return dummy names for the unnamed columns in the resultset query. In such case, adapter will use the column name returned by the database while generating business objects. When the databases do not return a dummy name, the adapter assigns dummy names like DCOL1, DCOL2, and so on, which is used in generation of the stored procedure business object.
186.1.0.0_IF0496203JR29104JDBC adapter would fail the execution of SPs on some instances of MSSQL 2005
Symptom: When queried from the adapter, some instances of MSSQL2005 would not return a RETURN_VALUE parameter with stored procedures metadata.
Resolution: Fixed. The query from the adapter for metadata has been modified in order that stored procedures on any of the databases return all parameters.
196.1.0.0_IF0496054/96163JR29067JDBC adapter throws invalid data conversion error while executing a stored procedure which returns a resultset
Symptom: When JDBC adapter is used to execute a stored procedure which returns a resultset containing columns of type int or Date, then you could see NumberFormatException thrown by the adapter. Also you could see SQLException with the message invalid data conversion: Wrong result column type for requested conversion.
Resolution: Fixed. Adapter now correctly processes stored procedures returning resultsets which contain columns with different data types.
206.1.0.0_IF0496166JDBC adapter throws invalid column index while using stored procedure for custom event processing.
Symptom: During inbound processing, when JDBC adapter is configured to use stored procedure for custom event processing then you may see SQLException with a message "Invalid column index" being thrown from the adapter.
Resolution: Fixed. Adapter now correctly processes events when configured to use stored procedure for custom event processing. For Oracle database, the first parameter of the stored procedure should be an output parameter of type resultset containing the event information and the second parameter should be an input parameter of type integer. At runtime, adapter will set the poll quantity value on this parameter.
216.1.0.0_IF0496179JDBC adapter throws NullPointerException while processing a stored procedure associated with a business object
Symptom: During inbound processing, when JDBC adapter is configured to use associated stored procedures with business objects, then while processing the stored procedures, adapter throws NullPointerException.
Resolution: Fixed. Adapter now correctly processes associated stored procedures during inbound processing.
226.1.0.0_IF0488947JR26628The JDBC adapter retrieves incorrect data for child objects when a parent business object contains two single cardinality children with foreign keys referring to the same attribute.
Symptom: When a business object contains two child objects of the same type representing foreign keys to the same table, the adapter retrieves two instances of the last child object, rather than one of each.
Resolution: Fixed. The adapter correctly retrieves the data for single cardinality children.


This table lists new and modified connector properties
#VersionAdded or ModifiedPropertyLocation
There is no new connector property introduced/modified for this version of interim fix.


To upgrade to the interim fix version 6.1.0.0_IF14, do the following.
1. Ensure that you have followed the "Installation Instructions" section in the download link before proceeding.
2. If you need to use the Fix Pack for EMD, delete the connector project in WebSphere Integration Developer, import the new RAR file, and apply the enterprise information system (EIS) specific dependency files.
   a. Open the Java build path for the SCA module and remove the Connector project that is selected on Projects tab.
   b. Open the dependency editor and remove the connector project.
   c. Delete the connector project from the workspace.
   d. Import the new RAR file. Add any dependency files from EIS specific application-specific information as needed.
   e. Open the Java build path for the SCA module and select the Connector project that is selected on the Projects tab.
   e. Open the dependency editor and add the connector project if it is not already present and select Deploy with Module.
3. If you need to update deployed applications on WebSphere Process Server, do the following:
   a. Select Update for the corresponding application on the WebSphere Process Server administrative console.
   b. Select Single Module with a relative path as name of the RAR file - CWYBC_JDBC.rar.
   c. Click Browse on the local file system to select the updated RAR file that has the changes.
   d. Select the default values in the remaining steps and click Finish. This will ensure that existing configurations, for example, are not changed and that only JAR files will be updated.


April 22nd, 2008 6:00 PM
(C) 2007 IBM Corporation. Proprietary and Confidential. All Rights Reserved.