SAND CDBMS Error Messages Guide
Ndlm Exit Codes


Whenever the SAND CDBMS Data Loader utility (ndlm) exits, it returns a status code. If no issues are encountered during a loader operation, ndlm returns 0 to indicate success. Apart from the success code, there are other types of status codes: warnings, errors, and fatal errors. All of the possible exit codes are summarized in the following table:

Code Name Type Description
0 A_OK SUCCESS The operation completed successfully.
3 RC_WARNING_NDL WARNING The operation generated an internal (ndlm) warning.
4 RC_WARNING_EXTERNAL WARNING The operation resulted in a warning from an external source, for example, the database server.
5 RC_ERROR_NDL ERROR The operation generated an internal (ndlm) error.
6 RC_ERROR_EXTERNAL ERROR The operation produced an error from an external source, for example, the database server.
9 RC_FATAL_NDL_ERROR FATAL ERROR The operation caused an error that resulted in the immediate termination of the loader process.

Most error or warning exit codes are associated with specific ndlm messages, which are listed in the tables below. External errors returned via the API will include the external error message with the exit code. Typically, these external errors will come from the database server engine.

Refer to the Ndlm Error Messages section of this guide for full descriptions of the ndlm error, warning, and status messages, as well as prompts. Descriptions of most external errors can be found in either the Database Server Error and Warning Messages section or the Client Error Messages section.

Note that if ndlm warnings are disabled (-w option), ndlm will return exit code 0 for all warnings.


Return Code 3 (RC_WARNING_NDL)

Name Associated Message or Output
A_EXPORT_NUM_TRUNC WARNING 30165: numeric truncation during export, row n, column x
A_FIELDLEN WARNING 30128: input record n: width is too long
A_FIELDLEN_EX WARNING 30128: input record n: width (x) of field field-name is too long - column width is defined as y
A_MAXERRORS WARNING 30142: Found n error(s) during IMPORT. Keep going? Yes/No
A_MAX_3PHASE_THREADS WARNING 30155: defaulting -k option to 32 threads
A_MISSING_CNT WARNING 30141: missing parameter for x, option ignored
A_MISSING_FLAT_FILE WARNING 30156: missing specified flat file 'file-name', skipped
A_NO_TARGET WARNING 30168: loading with no target



Name Associated Message or Output
A_FLDLEN_MISMATCH WARNING 30144: field width of x does not match column width of y
A_MULTIOPT WARNING 30140: x already defined, duplicate ignored
A_NO_ROWS_SCT WARNING 30171: no records selected, stopping SCT file creation.
A_PROC_ZERO_ROWS WARNING 30143: User specified zero rows to process.
A_WARN_NO_PATH_TEMPDRIVE WARNING 30169: One or more TEMPDRIVE paths do not exist.


Return Code 5 (RC_ERROR_NDL)

Name Associated Message or Output
A_BAD_DTYPE ERROR 30147: incompatible datatype
A_BAD_DTYPE_EX ERROR 30147: input record n: incompatible datatype
A_BAD_DTYPE_WITH_COL ERROR 30159: bad data type conversion, row x, column y (col-name)
A_BAD_NAME ERROR 30130: 'x' is not a valid field/table/column name
A_CALL ERROR 30121: argument is not a valid x option
A_CHAR_TRUNC ERROR 30150: string truncation error
A_CHAR_TRUNC_EX ERROR 30150: input record n: string truncation error
A_CHAR_TRUNC_WITH_COL ERROR 30162: character truncation, row x, column y (col-name)
A_COLS_MISMATCH ERROR 30139: number of fields specified differs from number of columns selected
A_DATETIME_VIO ERROR 30153: DATE/TIME value is invalid
A_DATETIME_VIO_EX ERROR 30153: input record n: DATE/TIME value is invalid
A_DUPLENGTH ERROR 30106: 'field-name' field description has multiple lengths
A_FIELDNOEXIST ERROR 30109: column 'column-name' not mapped to a field
A_FIELD_NO_LENGTH ERROR 30126: no length has been specified for <field-label or column-name>
A_INT_OVERF ERROR 30149: integer outside range
A_INT_OVERF_EX ERROR 30149: input record n: integer outside range
A_INT_OVERF_WITH_COL ERROR 30161: integer outside range, row x, column y (col-name)
A_INVALIDCHAR ERROR 30151: attempt to load invalid character
A_MISSING_COL a SELECTed column was not specified in the record spec
A_NOBAT_OPT ERROR 30123: flag option cannot be used with -B option
A_NON_NUMERIC ERROR 30127: 'flag-value' is not a valid number for option-flag option
A_NOSELECT ERROR 30104: no SELECT statement in the specification file
A_NOT_NEWLINE_DELIM ERROR 30107: input file not record delimited
A_NO_COLUMNS_TO_LOAD ERROR 30164: IMPORT file specifies no columns to load
A_NO_EXPORT_FILE ERROR 30138: IMPORT/EXPORT file name missing from the specification file
A_NULL_VIO ERROR 30146: NULL violation
A_NULL_VIO_EX ERROR 30146: input record n: NULL violation
A_NULL_VIO_WITH_COL ERROR 30158: null violation, row x, column y (col-name)
A_NUM_TRUNC ERROR 30148: numeric truncation error
A_NUM_TRUNC_EX ERROR 30148: input record n: numeric truncation error
A_NUM_TRUNC_WITH_COL ERROR 30160: numeric truncation, row x, column y (col-name)
A_OUT_OF_MEMORY ERROR 30108: out of memory
A_SEEK_ERR ERROR 30102: seek error on back scan
A_SELECT_TOOBIG ERROR 30103: SELECT statement exceeds available buffer space
A_SKIP_ERROR ERROR 30131: Nothing to <import | export>. Too many rows skipped!
A_SQLNULLRESULT Row n doesn't have an impact on the database
A_SYNTAXERR ERROR 30105: SYNTAX ERROR in the specification file
A_TDF_OPTION ERROR 30122: flag option must have a filename argument
A_TOO_FEW_PARAMS (The ndlm command line invocation did not contain all of the required parameters.)
A_UNIQ_VIO ERROR 30145: UNIQUE violation
A_UNIQ_VIO_EX ERROR 30145: input record n: UNIQUE violation
A_VIOLATION_EX n row(s) rejected due to NULL/UNIQUE violation
A_ZERO_RECLEN ERROR 30120: IMPORT datafile record length specified as zero



Name Associated Message or Output
A_ENDBUFFER ERROR 30118: early end of buffer
A_ENOEXIST ERROR 30110: cannot create EXPORT file 'file-name'
A_EOF ERROR 30111: early end of file
A_EXPORT_NOT_NEWLINE_DELIM ERROR 30117: export record definition not record delimited
A_FETCHERR ERROR 30129: unexpected error during FETCH
A_FIELDMAX ERROR 30116: input data longer than the field MAXIMUM (4056)
A_GENERAL_NDL_ERROR (Variable message strings.)
A_GETROWERR Error reading row n in 'file-name'
A_IGNORING ERROR 30132: fatal error in IGNORE bytes option
A_INPBUF_TOO_SMALL ERROR 30172: input buffer is too small for the number of reading threads specified: -j n
A_INT ERROR 30112: processing interrupted
A_MAXERR_BATCH WARNING 30154: maximum # of errors reached, stopping load
A_MISMATCH ERROR 30115: input data mismatch
A_NOEXIST ERROR 30101: IMPORT file 'x' not found
A_NONPRINTABLE ERROR 30136: attempt to load unprintable character
A_NO_COLLATION_SCT ERROR 30175: Unsupported collation for SCT file.
A_NO_OVERWRITE_SCT ERROR 30163: SCT file already exists
A_NO_PATH_SCT ERROR 30166: Path to SCT file not found
A_NO_PATH_TEMPDRIVE ERROR 30167: No valid TEMPDRIVE path was found or access denied: path
A_OPENERR ERROR 30119: cannot open file 'file-name'
A_PIPECLIENTERR ERROR 30124: writing to named pipe. Client connection was closed
A_PIPECONNECT ERROR 30135: unable to connect to <import | export> pipe 'x'
A_PIPECREATE ERROR 30134: unable to create <import | export> pipe 'x'
A_PIPENOCLIENT ERROR 30137: pipe timeout. No client connected in the allotted time
A_PIPEWRITERR ERROR 30144: writing to named pipe. Client connection was closed
A_SIZING ERROR 30133: fatal error in sizing input file
A_SPECIFIER ERROR 30114: field specifier error: x
A_SQLCAERR_EX input record n: x
A_SQLDESCRIBE (SQL Describe Error)
A_SQLERROR EXECSQL error with row n
A_SQLPREPARE (SQL Prepare Error)
A_SQL_MESSAGE (Generic API message strings)
A_TOO_MANY_BYTES ERROR 30174: Imported/exported number of bytes exceeds licensed amount.
A_TOO_MANY_READ_THREADS ERROR 30157: maximum reading threads exceeded. n specified, only one allowed in standard mode
A_TOO_MANY_ROWS ERROR 30173: Too many rows for one load.
A_TOO_MANY_ROWS_SCT ERROR 30170: Too many rows for SCT file.
A_WRITERR ERROR 30113: disk full!!!