The restrictions and limitations of ODBC Operator are listed below:
- A BINARY_FLOAT column in a table on an Oracle database cannot be exported and loaded to a Teradata Database FLOAT column. This is because a BINARY_FLOAT column is a 4-byte floating-point value and the Teradata Database does not support a 4-byte floating-point column. Teradata Database only supports a 8-byte floating-point column.
- The bundled DataDirect ODBC drivers do not support INTERVAL data types.
- Trailing blanks in CHAR column on MySQL are removed during the retrieval when the column is defined with Unicode character set.
For example, the column is defined as follows:
col_char CHAR(10) CHARACTER SET UTF16
It has the value 'abc', which is stored as 'abc ' (with 7 blanks) in the table. When the column is retrieved, its value is 'abc' and the operator stores the value in the buffer of 10 bytes as 'abc\0\0\0\0\0\0\0' (with 7 '\0' following the actual value).
The value with padded NULL characters has inserted a Teradata CHAR column; that alters the column value in a target table.
Teradata recommends using VARCHAR instead of CHAR. If you use RPAD on the CHAR column in the SQL SELECT statement, the returned SQL data types for the column is SQL_WVARCHAR. The ODBC operator then processes it as VARCHAR format, instead of CHAR format. That leads to a failure while loading it into a CHAR column in a Teradata table.