Troubleshooting
Log Files
BDT stores its logs in the file
BDT_HOME/log/bdt.log
.The default log level is DEBUG for the log file and INFO for the console. These log properties can be changed in the
BDT_HOME/conf/log4j.properties
file.
Note
BDT_home
points to your installation directory.
Error and Description
Error / Exception | Description |
---|---|
NAE_IP.1 contains invalid IP addresses in the IngrianNAE.properties | The bdt.properties file is not configured, and the parameter NAE_IP.1 is blank.Refer to BDT Properties File for configuring the properties. |
Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (Access denied for user 'userName'@'xx.xx.xx.xx'). | This exception occurs if: • Database user's password is empty. • Database user's password is incorrect. |
Driver class not found: | Copy the required database driver to BDT_HOME/lib path. |
PreparedStatementCallback; SQL [Insert into MYTESTDB.CUSTOMERYD27 values(?,?)]: Duplicate entry '3' for key 'customeryd27.PRIMARY'; nested exception is java.sql.BatchUpdateException: Duplicate entry '3' for key 'customeryd27.PRIMARY'. | This error occurs when a table contains primary key, createDestinationTable is set to true and destination table already exists.So, the same value for a primary key can not be written. |
Loading class 'com.mysql.jdbc.Driver': This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver . The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. | Change the driver class from com.mysql.jdbc.Driver to com.mysql.cj.jdbc.Driver in the BDT policy. |
Could not create the destination table: Make sure the source table exists. | If the source table exists, ensure table name is configured correctly in the BDT policy file. |
Invalid Object Name: | If caseSensitive flag is enabled in the policy file, the database object names should not be enclosed in double quotes. |
Ciphertext version header does not match to policy version for this record: | The value of policyVersion field in the BDT policy file during decryption must be same as the one used during encryption. |
Record parsing failed: The value of columnCount in the BDT policy file and parsed records does not match. | Ensure that all the records in the input file have the same column count as mentioned in the columnCount field of the BDT policy file. |
Invalid or missing algorithm: The encryption algorithm used in config@type is not supported when symmetric key cache is disabled. | Refer to supported encryption algorithms for details. |
Column targetColName exists in the input file | This error occurs if the column name specified in the targetColName parameter (irrespective of the case sensitivity) exists anywhere in the input file.Refer to Storing Output of Crypto Operations in a New Column for details. |
targetColName is not specified, cannot modify the source column | This error occurs if srcColumnAction is specified without targetColName . |
**Value of srcColumnAction "entered-value" is invalid ** | This error occurs if "entered-value" in srcColumnAction is other than preserve , empty , remove .Refer to BDT Policy File for details. |
Exception java.lang.NoSuchMethodError in the "main" threadorg.apache.logging.log4j.spi.LoggerContextFactory | If you are using OpenJDK, try reinstalling it. If the issue persists, use Sun JDK. |
SQL0668N operation not allowed for reason code "7" on table | This error occurs while performing any operation on destination table after a successful transformation with destination database as DB2. Note: This error is applicable only for DB2. Workaround: Run the following query after the transformation: call sysproc.admin_cmd ('reorg table <schema>.<TableName>') |
Limitations
If a source table contains spaces in its column name, then that source table cannot be transformed.
Multiple IP addresses are not supported in the
NAE_IP.x
field ofbdt.properties
file when running BDT using the centralized policy-central
option.When
createDestinationTable
is set totrue
:For Oracle databases, only CAPITAL casing is supported for database user names.
If multiple tables with the same name but different casing (for example, "testtable" and "TestTable") exist in any source/destination and owner/schema, such tables cannot be transformed.
For MSSQL and MYSQL databases, if the parameter
caseSensitive
is set tofalse
, thensourceTable
name in policy should be in the same case as it is created in the database.
In case of casing mismatch, transformation will give the following error:Could not create destination table. Make sure source table exists.
In a multi-threaded environment, the sequence of the output order will be different than the one provided in the input order. To maintain the same sequence in the input and output order, it is recommended to use
threadCount
as 1 in BDT Config File.