User Guide > Map Connectors > Source and Target Map Connectors > IBM DB2 11.5 Universal Database Multimode
Was this helpful?
IBM DB2 11.5 Universal Database Multimode
IBM DB2 can be a source or target connection either directly or through an ODBC driver. You still need to set up an ODBC data source to make the connection. For more information, see the procedure under ODBC 3.5. Also see IBM DB2 10.
The multimode connector allows concurrent writes to multiple target tables. You can perform table drop and table insert operations directly on your target database. You can quickly setup a multimode connector using the multimode wizard. For more information, see Setting Up Multimode Target Connector Using Multimode Wizard.
Connectivity Pointers
Make sure the IBM DB2 11.5 client driver is installed and configured properly on your workstation.
IBM provides libdb2o.so driver when SQLLEN is 64 bits. SQLLEN provides the length of data in bytes depending on the data type.
If possible, create query statements using the source database application, so that syntax and validity can be checked by the native application. You can then copy the query statement and paste it in the Query statement box.
Connector-Specific Notes
In multimode targets, modifications to column names, data types, and sizes are not permitted.
Connector Parts
Connector parts are the fields you configure to connect with a data source or target. The fields that are available depend on the connector you select. Multimode connectors are target only connectors. For a list of all parts for target connectors, see Specifying Target Connector, Parts, and Properties.
Property Options
The properties are not present in the GUI but authored in document.
You can specify the following target properties:
Property
Use
Encoding
Type of encoding to use with source and target files.
Default value is OEM.
SQL Output
Specifies bound or unbound mode and whether or not to write SQL statements to a SQL log. The bound mode is faster, as bind variables are used.
The available options are:
Target Only (default) - Use bound mode, which uses bind variables. SQL statements are sent to the target only.
Target Only (Unbound Mode) - Use unbound mode. Does not use bind variables and sends the literal SQL statement to the database engine. SQL statements are sent to the target and not to the SQL log file specified in the SQL Log property.
Target and SQL Log - Sends SQL statements to the target and the SQL log file specified in the SQL Log property.
SQL Log Only - Sends SQL statements only to the SQL log file specified in the SQL Log property.
SQL Log
Specifies the name of the log file. The default value is sql.log, in the default installation directory. To use a different log file, browse and select the file, or enter the path and file name.
Note:  SQL statements are sent to the SQL Log file only if the SQL Output property is set to either Target and SQL Log or SQL Log Only.
UpdateNullFields
Indicates if null values are sent to the database when inserting or updating records. The default value is TRUE.
If you select FALSE, null values are not sent to the database when you insert or update records. This forces the connector to operate in unbound mode, which may cause slower performance.
Best Practice — If fields in the target record are not mapped, then the null values are passed to the target. If you do not want to write to these fields, then it is recommended to set the value for the UpdateNullFields property to FALSE.
SystemTables
When set to TRUE, this property allows you to see all tables that were created by the DBA. That is, the system table names appear in the table list. Default value is FALSE.
Note:  This property is applicable only if the user is logged onto the database as a DBA. Only the DBA has access to system tables.
Views
When set to TRUE, this property lists all the view names along with the table names. Default value is TRUE.
Note:  This property supports only Append and DeleteAndAppend output modes and does not support the Replace output mode.
AutoCommit
When set to TRUE, it automatically commits changes as they are made by each SQL statement, instead of waiting until the end of the transaction.
Also, if this option is set to TRUE, you cannot roll back changes after they are done. It will overwrite the CommitFrequency value, which means that the changes are committed by each SQL statement irrespective of the value set for CommitFrequency.
The default value is FALSE.
DriverCompletion
Controls how the ODBC driver prompts for missing information.
The available options are:
prompt - asks the user all information.
complete (default) - asks the user for information they forgot to enter.
complete required - asks the user only for information required to complete the connection.
no prompt - does not asks the user for any information.
IdentifierQuotes
All databases have what are called quoted identifiers. You enclose identifiers in quotes to make the SQL statement parseable and to distinguish between columns and character data. For example, Oracle uses double quotes (") for column and table names and single quotes (') for character data. In a SQL statement, you should enclose identifiers containing special characters or match keywords in identifier quote characters (also known as delimited identifiers in SQL-92).
For example, the Accounts Receivable identifier is in quotes in the following SELECT statement:
SELECT * FROM "Accounts Receivable"
If you do not use identifier quotes, the parser assumes there are two tables, Accounts and Receivable, and returns a syntax error that they are not separated by a comma.
If either of the following values contain a space, set the identifierQuotes property on the source and the target to ““ or Default:
the value of the source connector part Table/View field.
the value of a source column name (for example, Account Number).
Otherwise, if the IdentifierQuotes property is set to None, a SQL error is returned and the source table data is not displayed.
The available options are:
Default
"
ModifyDriverOptions
Allows you to store the ODBC driver connection information.
The available options are:
TRUE (default) - Store the ODBC connection information.
FALSE - Prompt for connection information each time the transformation is run.
DriverOptions
Specify a valid ODBC driver string connection. The default is empty for a new map.
This property can be specified or edited when one of the following is true:
The Source Data Source" is selected and the DSNType is set to "Driver".
All source connection parts are specified and the map is connected to the data. In this case, the connector builds the DriverOptions for you based on the connection parts you enter. Users can edit the pre-built options string as needed.
MaxDataLength
Specifies the maximum data length for long data types.
The default value is 1 MB. You can reset this number based on your available memory and target requirements.
Some ODBC drivers have maximum data length limitations. If you choose an ODBC source or target connector and the default setting is not 1 MB, the integration platform sets the value for that particular ODBC driver. Under those conditions, do not set the MaxDataLength property to a higher value.
TransactionIsolation
Allows you to specify an isolation level to use when reading from or writing to a database table with ODBC.
The ANSI SQL 2 standard defines three specific ways in which serializability of a transaction may be violated: P1 (Dirty Read), P2 (Nonrepeatable Read), and P3 (Phantoms).
The available options are:
read uncommitted – Permits P1, P2, and P3.
read committed – Permits P2 and P3. Does not permit P1.
repeatable read – Permits P3. Does not permit P1 and P2.
serializable (default) – Does not permit P1, P2 or P3.
For further details about TransactionIsolation levels, refer to IBM DB2 Universal Database ODBC documentation.
ArraySize
Determines the number of rows to be sent to the server at one time. The default value is 1000. Larger values will buffer multiple rows and send them all at once. While this improves the speed, it affects error reporting (a server error won't be detected/reported until the next batch of records is sent to the server).
The maximum value allowed for this property is 100000. While the connector allows the value to be set that high, many drivers have lower limits. The connector will log a message indicating if the driver is forcing a lower value for the array size. In addition, the connector does not support arrays when there is a LOB-type field in the table, or when the (maximum) length of a character-type field is longer than 32767 characters. In these cases, a message will be logged indicating the array size has been reduced to 1.
Due to the way the connector attempts to support older drivers, the array support requires BulkOperations and UseCursors is set to True or both must be set to False. If BulkOperations is False and UseCursors is True, then the array size is ignored and a message is logged indicating this condition.
StripLeadingBlanks
Strips out leading blanks in all data fields if set to true. Default is false.
StripTrailingBlanks
Strips out trailing blanks in all data fields if set to true. Default is false.
Supported Data Types
The following data types are supported:
bigint
binary
blob
boolean
char
clob
date
dbclob
decfloat
decimal
double
float
graphic
integer
numeric
real
smallint
time
timestamp
varbinary
varchar
vargraphic
xml
Note:  Column sizes for text-type fields (char, varchar, etc.) should be specified in bytes, not characters. This is important when sending Unicode that contains characters outside the regular ASCII range. The strings are encoded using UTF-8, and the column width needs to be specified as the (max) number of bytes that will occur in the UTF-8 string.
Last modified date: 12/03/2024