/ 
/ $Header: ulemtb.msg,v 1.25 1995/11/08 11:24:11 jhealy Exp $ ulemtb.msg 
/ 
/copyright (c) 1979, 1990 by Oracle Corporation 
/ 
/
/NAME
/  ulemtb - Loader Error Message TaBle
/CONTENTS
/  Contents of error message table
/NOTES
/   WARNING: A single message in this table should NOT exceed 75 characters
/            If it does the message will be TRUNCATED.
/
/OWNER
/  Heigham
/MODIFIED
/    jhealy     11/07/95 -  bitmap index support phase 1
/    jhealy     05/30/95 -  bug #276086: parallel direct path APPEND mode
/    abrumm     02/15/95 -  merge changes from branch 1.22.720.1
/    ksudarsh   04/20/94 -  new messages, for parallel loader
/    ksudarsh   03/10/94 -  new warning message
/    ksudarsh   12/24/93 -  change mesgs to match datatype of passed args
/    ksudarsh   08/16/93 -  change error mesg #918
/    ksudarsh   08/10/93 -  par. query option enabled check
/    ksudarsh   05/26/93 -  add message for dblink when handling synonyms
/    ksudarsh   05/11/93 -  fix message - incorrect for parallel data load 
/    ksudarsh   03/30/93 -  Fix mesg to avoid regress diff 
/    ksudarsh   09/22/92 -  PDL: New messages 
/    ksudarsh   01/20/93 -  username prompt 
/    cheigham   06/27/92 -  add message for disconnect error 
/    cheigham   03/16/92 -  add null clause text msg 
/    cheigham   01/28/92 -  merge fix for  bug 94092 
/    cheigham   10/22/91 -  add error 268 for unrecoverable 
/    cheigham   07/15/91 -         add error message for failed truncate 
/  Heigham    03/04/91 - fix msg 600
/  Heigham    01/29/91 - add 'records processed' message
/  Heigham    11/13/90 - add causes/actions
/  Heigham    10/30/90 - more msgs. for command-line help
/
/
/  Messge headers
/
1, 0, "SQL*Loader-%03d: "
2, 0, "  SQL*Loader-%03d: "
/
/ Command-line errors
/
100, 0, "Syntax error on command-line\n"
// *Cause: An error appeared on the command-line.
// *Action: Check the command-line.
101, 0, "Invalid argument for username/password\n"
// *Cause: The command-line argument for username/password is incorrect.
// *Action: Correct it.
102, 0, "Invalid control file name on command line\n"
// *Cause: The command-line argument for the control file is incorrect.
// *Action: Correct it.
103, 0, "Invalid log file name on command line\n"
// *Cause: The command-line argument for the log file is incorrect.
// *Action: Correct it.
104, 0, "Invalid bad file name on command line\n"
// *Cause: The command-line argument for the bad file is incorrect.
// *Action: Correct it.
105, 0, "Invalid data file name on command line\n"
// *Cause: The command-line argument for the data file is incorrect.
// *Action: Correct it.
106, 0, "Invalid discard file name on command line\n"
// *Cause: The command-line argument for the discard file is incorrect.
// *Action: Correct it.
107, 0, "Invalid maximum number of discards\n"
// *Cause: The command-line argument for maximum discards is incorrect.
// *Action: Correct it.
108, 0, "Invalid number of logical records to load\n"
// *Cause: The command-line argument for number to load is incorrect.
// *Action: Correct it.
109, 0, "Invalid number of logical records to skip\n"
// *Cause: The command-line argument for number to skip is incorrect.
// *Action: Correct it.
110, 0, "Invalid maximum number of errors\n"
// *Cause: The command-line argument for maximum errors is incorrect.
// *Action: Correct it.
111, 0, "Invalid number of rows for bind array or data saves\n"
// *Cause: The command-line argument for number of rows is incorrect.
// *Action: Correct it.
112, 0, "Invalid maximum bind array size\n"
// *Cause: The command-line argument for conventional bind array 
//       size is incorrect.
// *Action: Correct it.
113, 0, "Invalid silent mode option\n"
// *Cause: The command-line silent mode option(s) is incorrect.
// *Action: Use only one of the allowed modes: all, error, feedback, or header.
114, 0, "Error in OPTIONS statement\n"
// *Cause: The control file silent mode option(s) is incorrect.
// *Action: Use only one of the allowed modes: all, error, feedback, or header.
115, 0, "Invalid direct path option\n"
// *Cause: The command-line argument for the direct path is incorrect.
// *Action: Use only TRUE or FALSE.
116, 0, "Error prompting for password\n"
// *Cause: Not normally issued.
// *Action: Contact customer support.
/
/  FOR INTERNAL USE ONLU
117, 0, "Don't use both silent=testing and silent=performance.\n"
/ 
118, 0, "Invalid parallel load option\n"
// *Cause: The command-line argument for the parallel load is incorrect.
// *Action: Use only TRUE or FALSE.
119, 0, "Invalid parallel file (data file) name on command line\n"
// *Cause: The command-line argument for the parallel file is incorrect.
// *Action: Correct it.
/
/ data generation message -- FOR INTERNAL USE ONLY
/
150, 0, "Only 1 table allowed if generating data\n"
151, 0, "Data generation is being used -- NOT FOR CUSTOMER USE\n"
152, 0, "%ld rows being generated.\n"
153, 0, "Cannot convert input character set to output one.\n"
154, 0, "Bad file must be specified.\n"
/
/ control file errors/warnings
/
200, 0, "FORMAT clause should not be present - flat data files only\n"
// *Cause:  User specified FORMAT keyword in the control file.
// *Action: Remove it.
250, 0, "Work data sets are not used by SQL*Loader\n"
// *Cause: User specified WRKDDN  keyword in the control file.
// *Action: None required -- informational message.
251, 0, "Sort devices are not used by SQL*Loader\n"
// *Cause: User specified SORTDEVT keyword in the control file.
// *Action: None required -- informational message.
252, 0, "Sort data sets are not used by SQL*Loader\n"
// *Cause: User specified SORTNUM keyword in the control file.
// *Action: None required -- informational message.
253, 0, "DB2 partition number has no significance -- ignored\n"
// *Cause: User specified PART keyword in the control file.
// *Action: None required -- informational message.
254, 0, "Cannot have DISCARDFILE specs here when multiple data files\n"
// *Cause:  User placed multiple data file specifications below RESUME clause.
// *Action: Move them above the RESUME clause.
255, 0, "Log file for error recovery not used by SQL*Loader\n"
// *Cause: User specified LOG keyword in the control file.
// *Action: None required -- informational message.
256, 0, "SORTED INDEXES option allowed only for direct path\n"
// *Cause: User used SORTED INDEXES clause in a conventional path load.
// *Action:  Either remove the clause or use the direct path.
257, 0, "Index %s specified in SORTED INDEXES does not exist on table %s\n"
// *Cause: A nonexistent index was specified in the SORTED INDEXES clause.
// *Action: Remove it.
258, 0, "Maximum number of SORTED INDEXES (%d) exceeded on table %s\n"
// *Cause: More then the specified number of indexes are in the SORTED 
//       INDEXES clause.
// *Action: Use the conventional path.
259, 0, "Could not escalate DDL share lock to exclusive on table %s\n"
// *Cause:  Someone else has a parse lock on the specified table.
// *Action: Wait and retry.
260, 0, "Index %s is in an invalid state\n"
// *Cause: The specified index is in an invalid state.
// *Action: Drop and recreate it.
262, 0, "PIECED keyword (on column %s) allowed only when path is direct\n"
// *Cause:  User used the PIECED keyword in a conventional path load.
// *Action: Remove it or use the direct path.
263, 0, "PIECED column %s must be last specified column in table %s\n"
// *Cause: User specified as pieced a column which was not the last one.
// *Action: Remove the PIECED keyword or place the column last. 
264, 0, "File mode token %s parsed but ignored\n"
// *Cause: An obsolete file mode token was used in the control file.
// *Action: None required -- informational message.
265, 0, "Unable to get default character set name.\n"
// *Cause: The loader was unable to locate the default character set name for 
//	   your environment.
// *Action: Supply one with the CHARACTERSET keyword.
266, 0, "Unable to locate character set handle for %s.\n"
// *Cause: The loader was unable to locate the character set handle for the 
//	indicated character set.
// *Action: Correct the character set name specified.
267, 0, "Control file must be first data file.\n"
// *Cause: The control file was used as a data file, but there were other
//	data files before it.
// *Action: Specify the control file as the first data file.
268, 0, "UNRECOVERABLE keyword may be used only in direct path.\n"
// *Cause: self-evident
// *Action: Use the direct path or remove the keyword.  (Conventional
//      path loads are always recoverable).
269, 0, "Null string not allowed as clause comparison text.\n"
// *Cause:  A clause is comparing to a null string.
// *Action: Modify the clause to compare to at least 1 character.
270, 0, "Table %s has index defined upon it.\n"
// *Cause:  Parallel load was specified into a table which has index
//          defined upon it.
// *Action: Drop index/es defined upon table or don't use parallel load.
271, 0, "Not a Parallel load. Table level OPTIONS statement ignored.\n"
// *Cause:  A Table level OPTIONS statement has been specified when
//          the load is not Parallel.
// *Action: Delete the Table level OPTIONS statement from the control file.
272, 0, "  Table level OPTIONS statement ignored.\n"
// *Cause:  In the Parallel load option, the file specified on the command 
//          line overrides the file specified in the control file.
// *Action: Delete the Table level OPTIONS statement from the control file.
273, 0, "READBUFFERS may be used only in direct path.\n"
// *Cause: self-evident
// *Action: Use the direct path or remove the READBUFFERS specification from
//          the control file.
274, 0, "At least 2 read buffers have to be specified.\n"
// *Cause: Fewer than 2 read buffers have been specified.
// *Action: Specify at least 2 read buffers in the READBUFFERS statement,
//          in the control file.
275, 0, "Data is in control file but \"INFILE *\" has not been specified.\n\n"
// *Cause: self-evident
// *Action: If data in the control file is to be read, specify INFILE * in 
//          the control file. 
276, 0, "Local storage option overrides global storage.\n"
// *Cause: A storage clause has been specified in the table level options
//         statement and also in the global options statement.
// *Action: This is only a warning message. Table level options take precedence
//          over global options. Drop the table level options statement if this
//          is not the intent.
277, 0, "Local file specification overrides global file specification.\n"
// *Cause: A file name has been specified in the table level options
//         statement and also in the global options statement.
// *Action: This is only a warning message. Table level options take precedence
//          over global options. Drop the table level options statement if this
//          is not the intent.
278, 0, "Incorrect file specification for parallel load.\n"
// *Cause: self-evident
// *Action: The file name specified, to do the parallel load into, is screwed 
//	    up. Correct and re-invoke parallel loader.
279, 0, "Only APPEND mode allowed when parallel load specified.\n"
// *Cause: INSERT, REPLACE, or TRUNCATE are not allowed during a parallel
//         load of a table.
// *Action: Change control file to use APPEND keyword and re-invoke parallel
//          loader.
280, 0, "Bitmap index %s (on table %s) is not yet supported by SQL*Loader.\n"
// *Cause: Bitmap indexes are not supported by this version of SQL*Loader.
// *Action: Remove all bitmap indexes from the table and retry the load.
/
/ Syntax errors
/
303, 0, "Non-hex character encountered where hex char expected\n"
// *Cause: A non-hex character was found in a hex string.
// *Action: Change it to the intended hex character.
304, 0, "Illegal combination of non-alphanumeric characters\n"
// *Cause:  A combination of characters which is not an allowed 
//       special character, such as !=, occurred.
// *Action: Change it to be an allowed special character
305, 0, "More than one end of file character encountered\n"
// *Cause: More than one end of file character was in the control file
// *Action: Remove the excess one.
306, 0, "Token longer than max allowable length of %ld chars\n"
// *Cause: The control file contains a token which is longer than the 
//       specified maximum.
// *Action: Shorten it.
307, 0, "Warning: conflicting lengths %lu and %lu specified for column %s.%s.\n"
// *Cause: The column mentioned has had its length specified in two 
// 	different ways which give unequal values.
// *Action: The conflict could occur between POSITION(x:y), a datatype with an 
//	implied length (such as INTEGER), and/or the length specification
// 	in <datatype>(<length>).  Check the field specification; ensure
// 	that you didn't specify a datatype of, say, INTEGER, when you 
//	meant INTEGER EXTERNAL.
308, 0, "Optional SQL string of column %s must be in double quotes.\n"
// *Cause: The optional SQL string must be a double quoted string.
// *Action: Enclose the string in double, not single, quotes.
350, 0, "Syntax error at line %lu.\n"
// *Cause: Gives line number of syntax error.
// *Action: None required -- informational message.
/
/ Column errors
/
401, 0, "End field position %ld must be greater than or equal to start %ld\n"
// *Cause: The control file contained a (start:end) clause with end < start.
// *Action: Change the clause so that end >= start.
402, 0, "Unable to determine length of column %s from specification\n"
// *Cause: The loader could not determine the column's length from the 
//       specification.
// *Action: Specify a length for the column.
403, 0, "Referenced column %s not present in table %s.\n"
// *Cause: The column specified is not in the table specified.
// *Action: Correct the column name.
404, 0, "Column %s present more than once in %s's INTO TABLE block."
// *Cause: The column specified is in the specified table's INTO TABLE 
//       block more than once.
// *Action: Remove the extra column specification.
405, 0, "Need termination delim with optional enclosure delim: column %s.%s\n"
// *Cause: The specified column has an optional enclosure delimiter but 
//       no termination delimiter.
// *Action: Specify a termination delimiter.
406, 0, "If data is all generated, number to load cannot be ALL\n"
// *Cause: No number to load was specified in a load which is all generated 
//       data.
// *Action: Specify a number to load.
407, 0, "If data is all generated, number to skip is meaningless\n"
// *Cause: Since the data is all generated, none of it needs to be skipped.
// *Action: Remove the number to skip.
408, 0, "Physical record stack overflow\n"
// *Cause: Internal error message not normally issued.
// *Action: Contact customer support.
409, 0, "Number to skip must be table-level, not load-level on continued loads\n"
// *Cause: The number to skip is at the load level in a continued load.
// *Action: Move it to the table level.
410, 0, "Number to skip must be load-level, not table-level\n"
// *Cause: In a non-continued (ie. standard) load, the number to skip was
//        at the table level.
// *Action: Move it to the load level.
411, 0, "Only a direct path load may be continued\n"
// *Cause: User attempted to continue a conventional path load.
// *Action: There is no reason to continue a conventional path load.
//        Use the standard load.  Or, if a direct path load was intended, 
//        use that.
412, 0, "More columns specified for table %s than the maximum (%d)\n"
// *Cause: More columns were specified than the maximum allowed by the 
//        database.
// *Action: Remove the extraneous ones.
413, 0, "Maximum number of constraints (%ld) exceeded on table %s\n"
// *Cause: Internal error message not normally issued.
// *Action: Contact customer support.
414, 0, "Maximum number of triggers (%ld) exceeded on table %s\n"
// *Cause: Internal error message not normally issued.
// *Action: Contact customer support.
415, 0, "Unimplemented database column type %ld on column %s\n"
// *Cause: Internal error message not normally issued.
// *Action: Contact customer support.
417, 0, "SQL string (on column %s) not allowed in direct path.\n"
// *Cause:  Self-evident.
// *Action: Remove it or use the conventional path.
457, 0, "Comparison text of CONTINUEIF LAST must have length 1 not %ld\n"
// *Cause: Clause's comparison text is too long.
// *Action: Reduce it to 1 character.
458, 0, "Comparison text ('%s') of CONTINUEIF LAST must be non-whitespace\n"
// *Cause: Clause's comparison text is whitespace (blank or tab).
// *Action: Change it to non-whitespace.
/
/ file i/o and o/s errors
/
500, 0, "Unable to open file (%s)\n"
// *Cause: Could not open specified file.
// *Action: Check the O/S error underneath it.
501, 0, "Unable to read file (%s)\n"
// *Cause: Could not read buffers from specified file.
// *Action: Check the O/S error underneath it.
502, 0, "Unable to open log file for write (%s)\n"
// *Cause: Could not open specified file.
// *Action: Check the O/S error underneath it.
503, 0, "Error appending extension to file (%s)\n"
// *Cause: Could not append the default extension to create the file name.
// *Action: Check the specified file name.
504, 0, "Error skipping records in file (%s)\n"
// *Cause: Could not open specified file.
// *Action: Check the O/S error underneath it.
506, 0, "Unable to open bad file (%s)\n"
// *Cause: Could not open specified file.
// *Action: Check the O/S error underneath it.
507, 0, "Unable to open discard file (%s)\n"
// *Cause: Could not open specified file.
// *Action: Check the O/S error underneath it.
510, 0, "Physical record in data file (%s) is longer than the maximum(%ld)\n"
// *Cause: Data file has a physical record which is too long.
// *Action: Use the CONCATENATE or CONTINUEIF features and break up the 
//       physical records.
511, 0, "Unable to initialize read functions\n"
// *Cause: An error occurred during setup for reading.
// *Action: Check the O/S error underneath it.
512, 0, "Unable to free read buffer\n"
// *Cause: Internal error message not normally issued.
// *Action: Contact customer support.
513, 0, "Unable to close file (%s)\n"
// *Cause: Could not close specified file.
// *Action: Check the O/S error underneath it.
514, 0, "Error getting elapsed time\n"
// *Cause: Could not get elapsed time from system.
// *Action: none
515, 0, "Error getting CPU time\n"
// *Cause: Could not get CPU time from system.
// *Action: none
516, 0, "Control file (%s) has no contents\n"
// *Cause: Self-evident.
// *Action: Ensure that control file is not empty.
517, 0, "Error decomposing file name (%s)\n"
// *Cause: Could not decompose the file name.
// *Action: Check the specified file name.
518, 0, "Error reassembling file name (%s)\n"
// *Cause: Could not reassemble the file name.
// *Action: Check the specified file name.
519, 0, "Error %ld writing to log file (%s)\n"
// *Cause: Could not write to specified file.
// *Action: Check that file is where you think it is and that you have write 
// privileges on it, that you have disk space, and that you have not exceeded
// your disk quota.  The error code returned is that of fwrite().
/
/ 
/
600, 0, "Specified max. bind size %lu bytes must be %lu bytes to hold 1 row.\n"
// *Cause: The bind array size is too small to hold a single row.
// *Action: Increase the bind size to be at least the indicated size 
//       of the row.
601, 0, "For INSERT option, table must be empty.  Error on %s\n"
// *Cause: The user tried to use the INSERT option on an empty table.
// *Action: Empty the table from SQL*Plus, or use the REPLACE option.
602, 0, "Maximum converted length %lu of column %s is too big for bind array\n"
// *Cause:  The specified column cannot undergo the specified character
//	set conversion and then be put in a contiguous piece of
//	memory in your system.
// *Action:  Shorten the column or don't perform a characterset conversion on
//	it.
603, 0, "Maximum length %lu of column %s is too big for bind array\n"
// *Cause:  The specified column cannot be put in a contiguous piece of
//       memory in your system.
// *Action:  Shorten the column.
604, 0, "Error occurred on an attempt to commit\n"
// *Cause: An error occurred when trying to commit changes to the database.
// *Action: Look at the ORACLE error below it for more information.
605, 0, "Non-data dependent ORACLE error occurred -- load discontinued.\n\n"
// *Cause: An error independent of the data (eg. some sort of space error) 
//       occurred.  All further rows would be rejected, so the load is 
//       discontinued.
// *Action: See the error(s) below this for more information and correct them.
606, 0, "Object %s in INTO TABLE clause is not a local table\n"
// *Cause: The synonym specified in the INTO TABLE clause in the SQL*Loader
//       control file specifies a remote object via a database link.  Only
//       a synonym for an existing local table can be specified in the INTO 
//       TABLE clause.
// *Action: Ensure that a local table name or a synonym for a local table is
//        fully specified in the INTO TABLE clause.  The table must already
//        exist.
/
/ format errors
/
620, 0, "Initial enclosure character not found\n"
// *Cause: A mandatory initial enclosure delimiter was not present.
// *Action: Add it or check previous fields for missing delimiter characters.
621, 0, "Field in data file exceeded maximum specified length\n"
// *Cause: A field exceeded its maximum specified length.
// *Action: Check for missing delimiters and/or shorten the field.
622, 0, "Column not found before end of logical record (use TRAILING NULLCOLS)\n"
// *Cause: A column was not found before the logical record had ended.
// *Action: Check for missing delimiters and/or use the TRAILING NULLCOLS keywords.
623, 0, "Logical record ended - second enclosure character not present\n"
// *Cause: A second enclosure delimiter was not found.
// *Action: Supply the missing delimiter.
624, 0, "No terminator found after TERMINATED and ENCLOSED field\n"
// *Cause: No terminating delimiter was found after an enclosed field ended.
// *Action: Add the missing terminator.
/
/ 	625 -639 reserved for multi-byte prototype 
/
625, 0, "Multibyte character error in control file.\n"
// *Cause: Incomplete multibyte characters or strings in control file.
// *Action: Edit control file to make sure that all multibyte data is valid.
640, 0, "Variable length field was truncated.\n"
// *Cause: A variable length field was truncated by the end of the logical
// record.
// *Action: This is just a warning, but since a variable length field has the
// length embedded in the data for each row, you may want to check your data.
641, 0, "Invalid zoned decimal nibble.\n"
// *Cause: self-evident.
// *Action: Check the contents of the field in error.
642, 0, "Relative start position > absolute field end position.\n"
// *Cause: A field specified as POSITION(*+n:y) had its relative start occur
//	after the absolute position y.
// *Action: Check that you are not missing a delimiter and that the values of
//	n and y are correct.
/
/ internal errors
/
700, 0, "Out of memory while performing essential allocations [%ld]\n"
// *Cause: The loader could not allocate the memory it needed.
// *Action: Check your O/S and process memory and increase it if possible or wait and retry.
701, 0, "Out of memory while allocating bind array\n"
// *Cause: The loader could not allocate the memory it needed.
// *Action: Check your O/S and process memory and increase it if possible,
//       or wait and retry.
702, 0, "Internal error - %s\n"
// *Cause: Internal error message.
// *Action: Contact customer support.  Note the string accompanying the 
//      message.
703, 0, "Internal error: argument %d\n"
// *Cause: Internal error message.
// *Action: Contact customer support.  Note the number accompanying the 
//      message.
704, 0, "Internal error: %s [%d]\n"
// *Cause: Internal error message.
// *Action: Contact customer support.  Note the number and the string 
//      accompanying the message.
705, 0, "Internal error\n"
// *Cause: Internal error message.
// *Action: Contact customer support.
706, 0, "Bad argument to ulerr [%lu].\n"
// *Cause: Internal error message.
// *Action: Contact customer support.
/
/ direct path preparation errors
/
901, 0, "Error logging on to ORACLE:\n"
// *Cause:  The direct path could not log on to ORACLE.
// *Action: Ensure that your instance is up.
902, 0, "Error opening cursor: [%ld] \n"
// *Cause: Internal error message not normally issued.
// *Action: Contact customer support.
903, 0, "Database must be at least version %d.%d.%d.%d.%d for direct path\n"
// *Cause: The direct path is being used against an incompatable database.
// *Action: Upgrade your database to at least the specified version or use the 
//       conventional path.
904, 0, "You cannot used the direct path when linked with v5 of the database\n"
// *Cause: The direct path is being used after the loader has been
//	linked with a version 5 database.
// *Action: Use the conventional path.
905, 0, "Error parsing SQL statement for upi: [%ld] \n"
// *Cause:  
// *Action: Check the ORACLE error below it for more information.
906, 0, "Error executing SQL statement for upi: [%ld] \n"
// *Cause: Internal error message not normally issued.
// *Action: Check the ORACLE error below it for more information.
907, 0, "Error parsing insert statement on table %s\n"
// *Cause: Loader cannot insert into the specified table.
// *Action: Check that the table exists and that you have insert 
//       privileges on it.
908, 0, "Unable to lock table %s due to ORACLE error %ld\n"
// *Cause: Loader could not lock the table it needed.
// *Action: Locate the holder of the lock and get him to relinquish it or 
//       just retry.
909, 0, "Loader views must be loaded (as SYS) for direct path to be used\n"
// *Cause: Certain views which the direct path requires are not present.
// *Action: Load the views in the script catldr.SQL (in RDBMS shipset) 
//       as user SYS.
910, 0, "Error binding input variables for upi: [%ld] \n"
// *Cause: 
// *Action: Check the ORACLE error below it for more information.
911, 0, "Error defining output variable(s) for upi: [%ld] \n"
// *Cause: 
// *Action: Check the ORACLE error below it for more information.
912, 0, "Tables loaded through the direct path may not be clustered\n"
// *Cause: User attempted to load a clustered table via the direct path.
// *Action:  Use the conventional path.
913, 0, "Error fetching results of select statement (upi): [%ld] \n"
// *Cause: 
// *Action: Check the ORACLE error below it for more information.
914, 0, "Error locking table %s in exclusive mode.\n"
// *Cause:  The direct path could not lock the specified table.
// *Action:  Check the ORACLE error message below it.
//      Make sure you have privileges.  Retry if necessary.
915, 0, "Error closing cursor: [%ld] \n"
// *Cause: 
// *Action: Check the ORACLE error below it for more information.
916, 0, "Error checking path homogeneity\n"
// *Cause: 
// *Action: Check the ORACLE error below it for more information.
917, 0, "Error parsing insert statement on table %s\n"
// *Cause:  Loader cannot insert into the specified column.
// *Action: Check that the column exists and that you have insert 
//       privileges on it.
918, 0, "The catalog must be loaded (as SYS) for SQL*Loader to be used\n"
// *Cause: Self-evident
// *Action: Load the Catalog (in the RDBMS shipset) as user SYS.
919, 0, "Error during upi fetch: [%ld] \n"
// *Cause: 
// *Action: Check the ORACLE error below it for more information.
920, 0, "Error deleting data from table %s (due to REPLACE keyword).\n"
// *Cause: The REPLACE keyword was specifed but the loader could not 
//    	delete the existing data from the table.
// *Action: Check the ORACLE error below it for more information.
921, 0, "NOT NULL column %s has a nullif clause\n"
// *Cause: A column which is NOT NULL in the database has a nullif 
//       clause on it.
// *Action: Remove the clause.
922, 0, "NOT NULL column %s has a defaultif clause which may evaluate to null\n"
// *Cause: A column which is NOT NULL in the database has a defaultif
//       clause which may evaluate to null.
// *Action: Remove the clause.
923, 0, "Column %s in table %s is NOT NULL but is not being loaded\n"
// *Cause: A column which is NOT NULL in the database is not being loaded 
//       and will cause every row to be rejected.
// *Action: Load the column.
924, 0, "%s\n"
925, 0, "Error while %s\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
//	The table or column referenced may not be accessible.
926, 0, "Oci error while executing %s for table %s\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
//	The table or column referenced may not be accessible.
927, 0, "Table %s does not exist\n"
// *Cause: Specified table does not exist.
// *Action: Make sure the table exists and that you have privileges on it.
928, 0, "Column %s does not exist\n"
// *Cause: Specified column does not exist.
// *Action: Make sure the column exists and that you have privileges on it.
929, 0, "Error parsing insert statement for table %s.\n"
// *Cause: The table's insert statment caused a parse error.
// *Action:  If you used any SQL strings, check them.
930, 0, "Error parsing insert statement for column %s.%s.\n"
// *Cause: The column's insert statment caused a parse error.
// *Action:  If you used a SQL string, check it.
931, 0, "OCI error while binding variable for column %s.%s\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
// 	The SQL String for this column may be in error.
932, 0, "Could not truncate table %s.\n"
// *Cause: Truncation of the table was attempted and failed.
// *Action: Check the error(s) below it for more information.  Truncation
//	due to referential constraints should not occur.
933, 0, "Specified file %s not part of database\n"
// *Cause: A file name was given to load the table into that is not a
//         data file.
// *Action: Specify a valid datafile.
934, 0, "Incorrect data file %s specified for table %s\n"
// *Cause: A data file name was given, to load the table into, that is
//         not a part of the tablespace in which the table resides.
// *Action: Specify a valid datafile.
935, 0, "Error verifying required option for parallel load.\n"
// *Cause: 
// *Action: Check the ORACLE error below it for more information.
/
/  Header messages
/
950, 0, "Error shipping data structures across 2-task\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
951, 0, "Error calling once/load initialization\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
952, 0, "Error calling once/data file initialization\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
953, 0, "Error shipping read buffer across 2-task\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
954, 0, "Error shipping index to read buffer across 2-task\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
955, 0, "Error calling col array build, block formatter\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
956, 0, "Error calling once/data file finishing\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
957, 0, "Error shipping text string across 2-task\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
958, 0, "Error popping data relocation address stack\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
959, 0, "Error shipping buffer across 2-task\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
960, 0, "Error escalating DDL share lock to exclusive\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
961, 0, "Error calling once/load finishing\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
962, 0, "Error setting user-side Ctrl-C handler\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
963, 0, "Error clearing user-side Ctrl-C handler\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
964, 0, "Error logging off ORACLE\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
965, 0, "Error %ld disabling constraint %s on table %s"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
966, 0, "Error %ld disabling all triggers on table %s"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
967, 0, "ORACLE error:\n %s\n"
// *Cause: Header message.
// *Action: Check the error(s) in the string for more information.
968, 0, "Error disconnecting from ORACLE\n"
// *Cause: Header message.
// *Action: Check the error(s) below it for more information.
969, 0, "Error performing file name translation on kernel side\n"
// *Cause: File specified for parallel load is probably not a valid
//         database file.
// *Action: Specify a valid database file.
/
/ syntax error message parts
/
1000, 0, "Expecting %s, found %s.\n"
1001, 0, "Expecting %s or %s, found %s.\n"
1002, 0, "Expecting %s, %s or %s, found %s.\n"
1003, 0, "keyword %s"
1004, 0, "\"%s\""
1005, 0, "operators \"%s\""
1006, 0, "quoted string"
1007, 0, "column name"
1008, 0, "filename"
1009, 0, "integer"
1010, 0, "table name"
1011, 0, "positive integer"
1012, 0, "end of file"
1013, 0, "quoted character"
1014, 0, "identifier"
1015, 0, "valid column specification"
1016, 0, "free-format specification"
1017, 0, "quoted character in hex notation"
1018, 0, "quoted string in hex notation"
1019, 0, "double quote"
1020, 0, "single char"
1021, 0, "single quote"
1022, 0, "keyword LOAD"
1023, 0, "keyword YES"
1024, 0, "keyword NO"
1025, 0, "keywords NO REPLACE"
1026, 0, "keyword INTO"
1027, 0, "keyword BEGINDATA"
1028, 0, "keyword TABLE"
1029, 0, "keyword COUNT"
1030, 0, "keyword MAX"
1031, 0, "keyword ENCLOSED"
1032, 0, "non-negative integer"
1033, 0, "hex identifier"
/
/ log file text
/
2000, 0, "\nTable %s:\n"
2001, 0, "  %lu %s not loaded due to data errors.\n"
2002, 0, "  %lu %s not loaded because all WHEN clauses were failed.\n"
2003, 0, "  %lu %s not loaded because all fields were null.\n\n"
2004, 0, "\nSpace allocated for bind array:               %8lu bytes(%lu rows)\n"
2005, 0, "Space allocated for memory besides bind array: %8lu bytes\n"
2006, 0, "\nTotal logical records skipped:   %8ld\n"
2007, 0, "Total logical records read:      %8ld\n"
2008, 0, "Total logical records rejected:  %8lu\n"
2009, 0, "Total logical records discarded: %8lu\n"
2010, 0, "\nMAXIMUM ERROR COUNT EXCEEDED - "
2011, 0, "Above statistics reflect partial run.\n"
2012, 0, "Rejected logical records and errors:\n"
2013, 0, "\nData File %s -\n\n"
2014, 0, "\nLoad completed - logical record count %lu.\n"
2015, 0, "Discard limit reached - processing terminated on data file %s.\n\n"
2016, 0, "Commit point reached - logical record count %lu\n"
2017, 0, "Record %lu: Rejected - Error on table %s, column %s.\n"
2018, 0, "Record %lu: Rejected - Error on table %s.\n"
2019, 0, "Record %lu: Discarded - failed all WHEN clauses.\n"
2020, 0, "Record %lu: Discarded - all columns null.\n"
2021, 0, "Record %lu: Warning - logical record longer than specified maximum.\n"
2022, 0, "Record %lu: Warning on table %s, column %s\n"
2023, 0, "%lu records processed.\n"
2024, 0, "Row"
2025, 0, "Rows"
2026, 0, "The load was discontinued due to exhaustion of database space\n"
2027, 0, "The following indexes on table %s were loaded:\n"
2028, 0, "The load was discontinued due to a user interrupt (Ctrl-C) [%ld]\n"
2029, 0, "  %lu %s successfully loaded.\n"
2030, 0, "  %lu %s successfully read.\n"
2031, 0, "  %lu %s skipped.\n"
2032, 0, "Bind array size not used in direct path.\n"
2033, 0, "\nReferential Integrity Constraint/Trigger Information:\n"
2034, 0, "NULL, UNIQUE, and PRIMARY KEY constraints are unaffected.\n\n"
2035, 0, "No CHECK, REFERENTIAL constraints were re-enabled after the load.\n"
2036, 0, "Constraint %s.%s was re-enabled by another process.\n"
2037, 0, "Trigger %s.%s was re-enabled by another process.\n"
2038, 0, "%s.%s was not re-enabled due to ORACLE error %ld.\n"
2039, 0, "%s.%s was re-enabled.\n"
2040, 0, "\nTable %s has no constraint exception table.\n"
2041, 0, "\nTable %s has constraint exception table %s.\n"
2042, 0, "Constraint %s.%s was disabled before the load.\n"
2043, 0, "There were no REFERENTIAL or CHECK constraints on this table.\n"
2044, 0, "ORACLE error occurred (see below) which terminates load, but the\n"
2045, 0, "triggers/constraints above have been disabled.\n"
2046, 0, "The following constraints on table %s have been disabled:\n"
2047, 0, "The following triggers on table %s have been disabled:\n"
2048, 0, "Save data point reached - logical record count %lu.\n"
2049, 0, "Trigger %s.%s was disabled before the load.\n"
/
/ 	2050-2100 reserved for multi-byte prototype 
2050, 0, "Multibyte character error.\n" 
// *Cause: Text specified by POSITION or terminated by newlines is invalid.
// *Action: Edit the control file or the data file to fix alignment of column.
/
/ more log file text
/
2101, 0, "%s\n"
3000, 0, "Control File:   %s\n"
3001, 0, "Data File:      %s\n"
3002, 0, "  Read Mode:    %s\n"
3003, 0, "  Line length:  %lu\n"
3004, 0, "  Bad File:     %s\n"
3005, 0, "\nNumber to load: %lu\n"
3006, 0, "\nNumber to load: ALL\n"
3007, 0, "Number to skip: %lu\n"
3008, 0, "Errors allowed: %lu\n"
3009, 0, "Errors allowed: ALL\n"
3010, 0, "Bind array:     %lu rows, maximum of %lu bytes\n"
3011, 0, ", in current physical record\n"
3012, 0, "Record Length:  %ld (Parsed but ignored)\n"
3013, 0, "Continuation:   "
3014, 0, "Last non-white character %s"
3015, 0, "%ld:%ld %s"
3016, 0, "%s %s"
3017, 0, "Column %s is "
3018, 0, "NULL if "
3019, 0, "DEFAULT if "
3020, 0, ", in next physical record\n"
3021, 0, "Concatenate every %ld physical records\n"
3022, 0, "                  and "
3023, 0, "\nTable %s, loaded "
3024, 0, "when "
3025, 0, "from every logical record.\n"
3026, 0, "\n"
3027, 0, "\nThere are %ld data files:\n"
3028, 0, "  Discard File: %s \n"
3029, 0, " (Allow %lu discards)\n"
3030, 0, " (Allow all discards)\n"
3031, 0, "Insert option in effect for this table: %s\n"
3032, 0, " none specified\n"
3033, 0, "Silent options: "
3034, 0, "FEEDBACK"
3035, 0, "ERRORS"
3036, 0, "DISCARDS"
3037, 0, " and "
3038, 0, ", "
3039, 0, "%-30s %10s %5s %4s %4s %-21s\n"
3040, 0, "%s:%lu"
3041, 0, "NEXT%s"
3042, 0, "FIRST%s"
3043, 0, "O(%c)"
3044, 0, "  %c "
3045, 0, "                                                      %s\n"
3046, 0, "%-30s RECNUM\n"
3047, 0, "%-30s SEQUENCE (COUNT, %s)\n"
3048, 0, "%-30s SEQUENCE (MAX, %s)\n"
3049, 0, "%-30s SEQUENCE (%s, %s)\n"
3050, 0, "%-30s CONSTANT '%s'\n"
3051, 0, "\n   Column Name                  Position   Len  Term Encl "
3052, 0, "Datatype"
3053, 0, "\n------------------------------ ---------- ----- ---- ---- "
3054, 0, "---------------------\n"
3055, 0, "    *"
3056, 0, "+%lu"
3057, 0, " WHT"
3058, 0, "O(X%02.02X)"
3059, 0, "X%02.02X"
3060, 0, "%02.02x"
3061, 0, "(character '%s')"
3062, 0, " 0X"
3063, 0, "\nNOTE: Since the data is all generated, no data files are used\n\n"
3064, 0, "%lu"
3065, 0, "Path used:      "
3066, 0, "Direct"
3067, 0, "Conventional"
3068, 0, " BLANKS"
3069, 0, "TRAILING NULLCOLS option in effect\n"
3070, 0, "None"
3071, 0, "Bind array: Test mode - (O/S dependent) default bindsize.\n"
3072, 0, "Column %s had SQL string \n\"%s\"\n applied to it.\n"
3073, 0, "%-30s SYSDATE\n"
3074, 0, "  File processing option string: \"%s\"\n"
3075, 0, "Character Set %s specified for all input.\n\n"
3076, 0, "Character Set %s specified for this table.\n\n"
3078, 0, "\nLoad is UNRECOVERABLE; invalidation redo is produced.\n"
3079, 0, " - with parallel option.\n"
3080, 0, "  Global file %s specified.\n"
4000, 0, "Elapsed time was:     %02ld:%02ld:%02ld.%02ld\n"
4001, 0, "CPU time was:         %02ld:%02ld:%02ld.%02ld"
/
/ help text
/
4002, 0, "\nUsage: SQLLOAD keyword=value [,keyword=value,...]\n\n"
4003, 0, "Valid Keywords:\n\n"
4004, 0, "%10s -- %-35s"
4005, 0, "  (Default %lu)\n"
4006, 0, "  (Default all)\n"
4007, 0, "  (Default %s)\n"
4008, 0, "\nRun began on %s\n"
4009, 0, "Run ended on %s\n\n"
4010, 0, "     (May not include ORACLE CPU time)"
4011, 0, "TRUE"
4012, 0, "FALSE"
4013, 0, "PLEASE NOTE: Command-line parameters may be specified either by\n"
4014, 0, "position or by keywords.  An example of the former case is 'sqlload\n"
4015, 0, "scott/tiger foo'; an example of the latter is 'sqlload control=foo\n"
4016, 0, "userid=scott/tiger'.  One may specify parameters by position before\n"
4017, 0, "but not after parameters specified by keywords.  For example,\n"
4018, 0, "'sqlload scott/tiger control=foo logfile=log' is allowed, but\n"
4019, 0, "'sqlload scott/tiger control=foo log' is not, even though the\n"
4020, 0, "position of the parameter 'log' is correct.\n"
4021, 0, "\n               (Default: Conventional path %lu, Direct path all)\n"
/
/ Debugging 
/
4500, 0, "rows processed: %ld\n"
4501, 0, "rows left: %ld\n"
4502, 0, "offset: %ld\n"
4503, 0, "table name: %s\n"
4504, 0, "rows loaded: %ld\n"
4505, 0, "rows in table %s: %ld\n"
/
/ Prompts
/
5000, 0, "Enter control file name: "
5001, 0, "Password:"
5002, 0, "Username:"
/
