The CData Sync App provides a straightforward way to continuously pipeline your DB2 data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The DB2 connector can be used from the CData Sync application to pull data from DB2 and move it to any of the supported destinations.
Compatible with DRDA gateway protocol version 5 and newer. May also connect to DB2 server deployed DRDA gateway.
For required properties, see the Settings tab.
For connection properties that are not typically required, see the Advanced tab.
The Sync App supports authenticating directly to the DB2 with user credentials as well as authenticating using the API key of an application integrated with DB2, such as Watson Query.
Set AuthScheme to USRIDPWD. Provide the following credentials:
The Sync App supports authenticating to the DB2 server using the API key of an application that connects to it, such as Watson Query.
Set AuthScheme to IBMIAMAuth. Provide the following credentials:
This section details a selection of advanced features of the DB2 Sync App.
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies. You can also set up tunnel connections.
See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.
By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the SSLServerCert property for the available formats to do so.
Set the following properties:
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
Property | Description |
AuthScheme | The authentication mechanism that the provider will use to authenticate with DB2. |
Server | The name of the DB2 server. |
Port | The port used to connect to the server hosting the DB2 database. |
Database | The name of the DB2 database. |
User | A database user. |
Password | The user's password. |
UseSSL | This field sets whether SSL is enabled. |
AlternateServers | This property allows you to specify multiple servers in addition to the one configured in Server and Port . Specify both a server name and port; separate servers with a comma. |
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
Property | Description |
SSHAuthMode | The authentication method used when establishing an SSH Tunnel to the service. |
SSHClientCert | A certificate to be used for authenticating the SSHUser. |
SSHClientCertPassword | The password of the SSHClientCert key if it has one. |
SSHClientCertSubject | The subject of the SSH client certificate. |
SSHClientCertType | The type of SSHClientCert private key. |
SSHServer | The SSH server. |
SSHPort | The SSH port. |
SSHUser | The SSH user. |
SSHPassword | The SSH password. |
SSHServerFingerprint | The SSH server fingerprint. |
UseSSH | Whether to tunnel the DB2 connection over SSH. Use SSH. |
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
Property | Description |
LogModules | Core modules to be included in the log file. |
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
Property | Description |
AllowPreparedStatement | Prepare a query statement before its execution. |
CharBitDataAsString | A Boolean value used to indicate whether parameters, result data, and schema information for iDB2CharBitData and iDB2VarCharBitData objects are treated as String values or as Byte array values. |
CharBitDataCcsid | An Int32 value used to indicate which CCSID is used to translate iDB2CharBitData and iDB2VarCharBitData types when the CharBitDataAsString property is set to true. This property is ignored when CharBitDataAsString is set to false. |
TruncateString | This property specifies whether to truncate characters when INSERT or UPDATE is executed with a string that exceeds the column size. |
Schema | The schema which will be used by default. |
MaxRows | Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. |
Other | These hidden properties are used only in specific use cases. |
QueryPassthrough | This option passes the query to the DB2 server as is. |
SwitchMode | This property allows you to specify a switching mode to select a server from AlternateServers as the active server. |
SwitchStrategy | This property allows you to specify a switching strategy to select a server from AlternateServers as the active server. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
Property | Description |
AuthScheme | The authentication mechanism that the provider will use to authenticate with DB2. |
Server | The name of the DB2 server. |
Port | The port used to connect to the server hosting the DB2 database. |
Database | The name of the DB2 database. |
User | A database user. |
Password | The user's password. |
UseSSL | This field sets whether SSL is enabled. |
AlternateServers | This property allows you to specify multiple servers in addition to the one configured in Server and Port . Specify both a server name and port; separate servers with a comma. |
The authentication mechanism that the provider will use to authenticate with DB2.
The name of the DB2 server.
This property should be set to the name or network address of the server hosting the DB2 database.
The port used to connect to the server hosting the DB2 database.
The port used to connect to the server hosting the DB2 database.
A database user.
The username of a user authorized to access the database.
The user's password.
The password provided for authentication with the database.
This field sets whether SSL is enabled.
This field sets whether the Sync App will attempt to negotiate TLS/SSL connections to the server. By default, the Sync App checks the server's certificate against the system's trusted certificate store. To specify another certificate, set SSLServerCert.
This property allows you to specify multiple servers in addition to the one configured in Server and Port . Specify both a server name and port; separate servers with a comma.
This property allows you to specify the other servers in addition to the one configured in Server and Port. You must specify all servers using AlternateServers, Server, and Port.
Specify both a server name and port in AlternateServers; separate servers with a comma. For example:
Server=localhost;Port=27017;AlternateServers=localhost:27018,localhost:27019;
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
The certificate to be accepted from the server when connecting using TLS/SSL.
If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.
This property can take the following forms:
Description | Example |
A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
A path to a local file containing the certificate | C:\cert.cer |
The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
The MD5 Thumbprint (hex values can also be either space or colon separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
The SHA1 Thumbprint (hex values can also be either space or colon separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
If not specified, any certificate trusted by the machine is accepted.
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
This section provides a complete list of the SSH properties you can configure in the connection string for this provider.
Property | Description |
SSHAuthMode | The authentication method used when establishing an SSH Tunnel to the service. |
SSHClientCert | A certificate to be used for authenticating the SSHUser. |
SSHClientCertPassword | The password of the SSHClientCert key if it has one. |
SSHClientCertSubject | The subject of the SSH client certificate. |
SSHClientCertType | The type of SSHClientCert private key. |
SSHServer | The SSH server. |
SSHPort | The SSH port. |
SSHUser | The SSH user. |
SSHPassword | The SSH password. |
SSHServerFingerprint | The SSH server fingerprint. |
UseSSH | Whether to tunnel the DB2 connection over SSH. Use SSH. |
The authentication method used when establishing an SSH Tunnel to the service.
A certificate to be used for authenticating the SSHUser.
SSHClientCert must contain a valid private key in order to use public key authentication. A public key is optional, if one is not included then the Sync App generates it from the private key. The Sync App sends the public key to the server and the connection is allowed if the user has authorized the public key.
The SSHClientCertType field specifies the type of the key store specified by SSHClientCert. If the store is password protected, specify the password in SSHClientCertPassword.
Some types of key stores are containers which may include multiple keys. By default the Sync App will select the first key in the store, but you can specify a specific key using SSHClientCertSubject.
The password of the SSHClientCert key if it has one.
This property is only used when authenticating to SFTP servers with SSHAuthMode set to PublicKey and SSHClientCert set to a private key.
The subject of the SSH client certificate.
When loading a certificate the subject is used to locate the certificate in the store.
If an exact match is not found, the store is searched for subjects containing the value of the property.
If a match is still not found, the property is set to an empty string, and no certificate is selected.
The special value "*" picks the first certificate in the certificate store.
The certificate subject is a comma separated list of distinguished name fields and values. For instance "CN=www.server.com, OU=test, C=US, [email protected]". Common fields and their meanings are displayed below.
Field | Meaning |
CN | Common Name. This is commonly a host name like www.server.com. |
O | Organization |
OU | Organizational Unit |
L | Locality |
S | State |
C | Country |
E | Email Address |
If a field value contains a comma it must be quoted.
The type of SSHClientCert private key.
This property can take one of the following values:
Types | Description | Allowed Blob Values |
MACHINE/USER | Blob values are not supported. | |
JKSFILE/JKSBLOB | base64-only | |
PFXFILE/PFXBLOB | A PKCS12-format (.pfx) file. Must contain both a certificate and a private key. | base64-only |
PEMKEY_FILE/PEMKEY_BLOB | A PEM-format file. Must contain an RSA, DSA, or OPENSSH private key. Can optionally contain a certificate matching the private key. | base64 or plain text. Newlines may be replaced with spaces when providing the blob as text. |
PPKFILE/PPKBLOB | A PuTTY-format private key created using the puttygen tool. | base64-only |
XMLFILE/XMLBLOB | An XML key in the format generated by the .NET RSA class: RSA.ToXmlString(true). | base64 or plain text. |
The SSH server.
The SSH server.
The SSH port.
The SSH port.
The SSH user.
The SSH user.
The SSH password.
The SSH password.
The SSH server fingerprint.
The SSH server fingerprint.
Whether to tunnel the DB2 connection over SSH. Use SSH.
By default the Sync App will attempt to connect directly to DB2. When this option is enabled, the Sync App will instead establish an SSH connection with the SSHServer and tunnel the connection to DB2 through it.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
The protocol used by a proxy-based firewall.
This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy.
Type | Default Port | Description |
TUNNEL | 80 | When this is set, the Sync App opens a connection to DB2 and traffic flows back and forth through the proxy. |
SOCKS4 | 1080 | When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted. |
SOCKS5 | 1080 | When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes. |
The name or IP address of a proxy-based firewall.
This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling.
The TCP port for a proxy-based firewall.
This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.
The user name to use to authenticate with a proxy-based firewall.
The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.
A password used to authenticate to a proxy-based firewall.
This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
Property | Description |
LogModules | Core modules to be included in the log file. |
Core modules to be included in the log file.
Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.
See the Logging page for an overview.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
A path to the directory that contains the schema files defining tables, views, and stored procedures.
The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is "%APPDATA%\\CData\\DB2 Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:
Platform | %APPDATA% |
Windows | The value of the APPDATA environment variable |
Linux | ~/.config |
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
Property | Description |
AllowPreparedStatement | Prepare a query statement before its execution. |
CharBitDataAsString | A Boolean value used to indicate whether parameters, result data, and schema information for iDB2CharBitData and iDB2VarCharBitData objects are treated as String values or as Byte array values. |
CharBitDataCcsid | An Int32 value used to indicate which CCSID is used to translate iDB2CharBitData and iDB2VarCharBitData types when the CharBitDataAsString property is set to true. This property is ignored when CharBitDataAsString is set to false. |
TruncateString | This property specifies whether to truncate characters when INSERT or UPDATE is executed with a string that exceeds the column size. |
Schema | The schema which will be used by default. |
MaxRows | Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. |
Other | These hidden properties are used only in specific use cases. |
QueryPassthrough | This option passes the query to the DB2 server as is. |
SwitchMode | This property allows you to specify a switching mode to select a server from AlternateServers as the active server. |
SwitchStrategy | This property allows you to specify a switching strategy to select a server from AlternateServers as the active server. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
Prepare a query statement before its execution.
If the AllowPreparedStatement property is set to false, statements are parsed each time they are executed. Setting this property to false can be useful if you are executing many different queries only once.
If you are executing the same query repeatedly, you will generally see better performance by leaving this property at the default, true. Preparing the query avoids recompiling the same query over and over. However, prepared statements also require the Sync App to keep the connection active and open while the statement is prepared.
A Boolean value used to indicate whether parameters, result data, and schema information for iDB2CharBitData and iDB2VarCharBitData objects are treated as String values or as Byte array values.
Setting this property to true allows the application to retrieve the data as translated character strings instead of as an array of bytes. The default value is false.
An Int32 value used to indicate which CCSID is used to translate iDB2CharBitData and iDB2VarCharBitData types when the CharBitDataAsString property is set to true. This property is ignored when CharBitDataAsString is set to false.
The default value is -1, and indicates that the host server job CCSID is used for translation. The link to the DB2 CCSID list is: https://www.ibm.com/docs/en/db2/11.5?topic=miexdc-ccsids-encoding-names The link to the DB2 iSeries/AS400 CCSID list is: https://www.ibm.com/docs/en/i/7.5?topic=information-ccsid-values-defined-i
This property specifies whether to truncate characters when INSERT or UPDATE is executed with a string that exceeds the column size.
By default it is False, which means if a string value exceeds the columns size, driver throws an exception.
The schema which will be used by default.
By setting this property, you will be able to execute SQL commands without having to specify the schema name.
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
These hidden properties are used only in specific use cases.
The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.
Specify multiple properties in a semicolon-separated list.
DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
ConvertDateTimeToGMT | Determines whether to convert date-time values to GMT, instead of the local time of the machine. |
RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
This option passes the query to the DB2 server as is.
When this is set, queries are passed through directly to DB2.
This property allows you to specify a switching mode to select a server from AlternateServers as the active server.
There are three switching modes available: None: Always use the default server. Failover: When the active server cannot be accessed, another server in AlternateServers will be used as the active server. LoadBalance: This option includes the feature of "Failover". In addition, the active server will also be changed after a transcation is committed.
Specify SwitchMode:
SwitchMode=Failover;
This property allows you to specify a switching strategy to select a server from AlternateServers as the active server.
There are three switching strategies available: Sequence: Always use the next server in AlternateServers as the active server. Random: Use a random server in AlternateServers as the active server. BestResponse: Always use the server with the shortest response time.
Specify SwitchStrategy:
SwitchStrategy=Random;
The value in seconds until the timeout error is thrown, canceling the operation.
If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.
If Timeout expires and the operation is not yet complete, the Sync App throws an exception.