SQL2750N The length of line line-number in the configuration was more than 255 bytes.

Explanation

The maximum length of a line in the configuration file must be less than 255 bytes.

User response

Check your configuration file and make sure all lines are less than 255 bytes.

SQL2751N The actual length actual-reclen of record rec-no did not match the expected length exp-reclen.

Explanation

If new line checking is required for a fixed length ASC data file (NEWLINE parameter is YES and RECLEN parameter is not zero), the actual length of each record has to match the expected record.

User response

Check record rec-no in the input data file.

SQL2752N Invalid codepage specification codepage at line line of the configuration file.

Explanation

The codepage specification is not valid. It must be a positive integer.

User response

Correct the codepage specification in the configuration file.

SQL2753N Failed to get the territory code and codepage for the application. Return code from function function-name is rc.

Explanation

The program failed to get the territory code and codepage of its environment.

User response

Check with your database system administrator.

SQL2754N Codepage source-cp cannot be converted to codepage target-cp.

Explanation

The database does not support codepage conversion between those two codepages.

User response

Please ensure your data is in a convertible codepage.

SQL2755N Decimal data can not be in both IMPLIEDDECIMAL and PACKEDDECIMAL format.

Explanation

Valid format of decimal data is SQL_PACKEDDECIMAL_FORMAT, SQL_CHARSTRING_FORMAT, or SQL_IMPLIEDDECIMAL_FORMAT, mutually exclusive.

User response

Verify the format of your decimal data, correct the format value, and resubmit the command.

SQL2756N The configuration parameter named parameter-name could not be updated because another request to update the same configuration parameter is currently in progress.

Explanation

A cluster caching facility (CF) structure is a memory resource for a database in a DB2 pureScale environment. The CF structures include Group Buffer Pool (GBP), Shared Communication Area (SCA), and Lock (LOCK). The corresponding configuration parameters for CF structures are CF_GBP_SZ, CF_SCA_SZ, and CF_LOCK_SZ, respectively.

The database configuration parameter named CF_DB_MEM_SZ controls the total CF memory limit for this database. All CF structure memory is included within this limit.

If the value of the database configuration parameter named parameter-name exceeds the parameter value of CF_DB_MEM_SZ, the request cannot be completed and the operation will time-out.

This message is returned when an update to CF structure memory has not completed and another request is made to update the memory for the same CF structure.

User response

View the update request that is pending for the CF structure using the GET DB CFG command with the SHOW DETAIL clause.

Ensure the values for memory of all CF structures are lower than the value of CF_DB_MEM_SZ.

Wait for the update request that is pending to complete or time-out.

sqlcode: -2756

sqlstate: 5U052

SQL2761N Only one of table name or database partition group can be specified.

Explanation

Specify either the table name or the database partition group name, but not both.

User response

Check your command line options.

SQL2762N The utility failed to find the database installation path.

Explanation

The utility needs to know where the database manager is installed, then it can find its bind file.

User response

Make sure your database manager is properly installed.

SQL2763N The table tbl-name was not found.

Explanation

The table tbl-name cannot be located in sysibm.systables.

User response

Make sure the table exists in the database.

SQL2764N The database partition group db-partition-group was not found.

Explanation

The database partition group db-partition-group cannot be located in SYSCAT.DBPARTITIONGROUPDEF.

User response

Make sure the database partition group exists in the database.

SQL2765W The utility failed to open output partition map file out-map-file.

Explanation

The utility cannot open the output partition map file for writing. It will write the output to stdout.

User response

Check your file access permissions.

SQL2766N The partition map is not of the correct size map-size.

Explanation

The size of the partition map is not correct. Data is corrupted in the database.

User response

Contact the Database Administrator to resolve the problem.

SQL2767N A command line option is not valid.

Explanation

There is an invalid command line option.

User response

Make sure to specify the correct command line options.

SQL2768N The deprecated-API API is deprecated and is replaced by the replacement-API API.

Explanation

The distribution map has been expanded from 4096 entries to 32768 entries, and cannot be returned by the deprecated API.

User response

Use the replacement API instead of the deprecated API.

SQL2796N An incorrectly partitioned record was found.

Explanation

While running the load utility in the LOAD_ONLY partitioning mode, data file records were found that do not match the database partition that the records were being loaded into.

User response

Verify the records in the data file for each database partition and ensure that each record is being loaded in the intended database partition. You can accomplish this task by placing the records in a separate file and invoking the load utility against it using the PARTITION_ONLY partitioning mode. By doing this, records will be grouped by their destination database partition.

SQL2800N CREATE, DROP, or CHANGE NODE failed. Reason code reason-code.

Explanation

The utility failed to add, drop, or change the database partition because the input parameters specified are invalid as indicated by the reason code:

1

The database partition number is not specified

2

The TCP/IP host name is not specified

3

The computer name is not specified

4

The database partition number is invalid.

5

The port number is invalid.

6

The TCP/IP host name is invalid.

7

The port value is not defined for your instance in the services file.

8

The port value is not in the valid range defined for your instance in the services file.

9

The database partition number is not unique.

10

The host name/port couple is not unique.

11

The host name value has no corresponding port 0.

User response

The action corresponding to the reason code is:

1

Ensure that the database partition number is specified

2

Ensure that the TCP/IP host name is specified

3

Ensure that the computer name is specified

4

Ensure that the database partition number is between 0 and 999.

5

Ensure that the port number is between 0 and 999.

6

Ensure that the host name specified is both defined on the system and is operational

7

Ensure that the TCP/IP services on your system contains an entry for your instance

8

Ensure that you only use port values that are specified in the services file on your system

9

Ensure that the database partition number specified is unique.

10

Ensure that the new host name/port is not already defined in the db2nodes.cfg file.

11

Ensure that the port value 0 has been defined for host name specified.

SQL2801N The syntax of the DB2NCRT command is incorrect.

Explanation

The DB2NCRT utility creates a new node in a partitioned database system.
DB2NCRT /n:node
        /u:username,password
        [/i:instance]
        [/h:host]
        [/m:machine]
        [/p:port]
        [/o:instance owning
          machine]
        [/g:netname]
The command arguments are:
  • /n Specify the node number
  • /u to specify the account name and password for the DB2 service.
The command options are:
  • /i Specify the instance if different from the default/current instance
  • /h Specify the TCP/IP host name if the host name is not the machine default TCP/IP host name
  • /m Specify the workstation name if the node is created on a remote machine
  • /p Specify the logical port number if this is not the first node on the machine
  • /o Specify the computer name of the instance owning machine when creating the first node on a machine.
  • /g Specify the network name or IP Address.

User response

Enter the command again using valid parameters.

SQL2802N The syntax of the DB2NCHG command is incorrect.

Explanation

The DB2NCHG utility changes or updates node configuration for a given node in a partitioned database system.
DB2NCHG /n:node
        [/h:host]
        [/m:machine]
        [/p:port]
        [/i:instance]
        [/u:username,
          password]
        [/g:netname]
The command options are:
  • /h Change the TCP/IP host name
  • /m Change the workstation name
  • /p Change the logical port number
  • /i Specify the instance if different from the default/current instance
  • /u Change the Logon Account name and password
  • /g Specify the network name or IP Address

User response

Issue the DB2NCHG command with one of the valid command options.

SQL2803N The syntax of the DB2NDROP command is incorrect.

Explanation

The DB2NDROP utility drops a node from a partitioned system.
DB2NDROP /n:node
         [/i:instance]
The command options are:
  • /i Specify the instance if different from the default/current instance

User response

Issue the DB2NDROP command with one of the valid command options.

SQL2804N The syntax of the DB2NLIST command is incorrect.

Explanation

The DB2NLIST utility list all nodes in a partitioned system.
DB2NLIST [/i:instance]
         [/s]
The command options are:
  • /i Specify the instance if different from the default/current instance
  • /s Display node status

User response

Issue the DB2NLIST command with one of the valid command options.

SQL2805N A service error has occurred. Reason code reason-code.

Explanation

An error has occurred during an attempt to create, drop, or add a database partition. The reason code indicates the reason for the error:

1

Unable to register the service

2

Unable to set the required User Rights Policy

3

Unable to set the Logon Account for the service

4

Unable to delete the service

User response

The action corresponding to the reason code is:

1

If the workstation name is specified during DB2NCRT, ensure that the workstation name is correct.

2

Ensure that the user name specified is valid.

3

Ensure that the user name and the password specified are valid.

4

If the database partition resides on another machine, ensure that the machine is running.

SQL2806N Node node not found for instance instance.

Explanation

DB2NDROP failed because the node does not exist.

User response

Ensure the node number is correct and reissue the command.

SQL2807N Node node already exists for instance instance.

Explanation

DB2NCRT failed because the node already exists.

User response

Ensure the node number is correct and reissue the command.

SQL2808W Node node for instance instance has been deleted.

Explanation

The DB2NDROP processing has completed successfully.

User response

No further action is required.

SQL2809W Node: node added to instance: instance {Host: host-name Machine: machine-name Port: port-num}

Explanation

The DB2NCRT processing has completed successfully.

User response

No further action is required.

SQL2810W Node: node changed in instance: instance {Host: host-name Machine: machine-name Port: port-num}

Explanation

The DB2NCHG processing has completed successfully.

User response

No further action is required.

SQL2811N The command is invalid because the instance is not a partitioned database instance.

Explanation

The command is only valid if the instance is a partitioned database instance.

User response

Ensure that the specified instance name is valid. If the instance name is not specified on the command line, ensure that the DB2INSTANCE environment is set to a valid partitioned database instance.

SQL2812N An invalid argument was entered for the db2drvmp command.

Explanation

Usage:
db2drvmp add     node_number
                 from_drive to_drive
       drop      node_number
                 from_drive
       query     [node_number]
                 [from_drive]
       reconcile [node_number]
                 [from_drive]
Valid arguments for this command are:
add
assign a new database drive map.
drop
remove an existing database drive map.
query
query a database map.
reconcile
repair a database map drive when the registry contents are damaged.
node_number
the node number. The parameter is required for add and drop operations.
from_drive
the drive letter to map from. This parameter is required for add and drop operations.
to_drive
to drive letter to map to. This parameter is required only for add operation. It is not applicable for any other operations.

User response

Enter the command again using valid arguments.

SQL2813I The drive mapping from drive drive-1 to drive drive-2 was added for node node.

Explanation

The drive mapping was added successfully.

User response

No action necessary.

SQL2814I The drive mapping from drive drive was deleted for node node.

Explanation

The drive mapping was deleted successfully.

User response

No action necessary.

SQL2815I The drive mapping for node node is: drive-1 - drive-2.

Explanation

Informational message.

User response

No action necessary

SQL2900W The ingest utility will not be able to pre-partition the input records. Reason code: reason-code

Explanation

The ingest utility uses the distribution key to determine the partition number and routes input records to one of that partition's flushers. Because of the condition that the reason code specifies, the ingest utility will route records to a random flusher. The reason codes are:

1

The NUM_FLUSHERS_PER_PARTITION configuration parameter was set to 0, so there is only 1 flusher for all partitions.

2

The target table is a type that does not have a distribution key.

3

At least one of the distribution key columns has a type that is a user-defined type (UDT) or a DB2SECURITYLABEL.

4

If the SQL statement is INSERT or REPLACE, the column list does not specify all the distribution key columns. If the SQL statement is UPDATE, DELETE, or MERGE, the WHERE or ON clause does not specify all the distribution key columns.

5

If the SQL statement is INSERT or REPLACE, a value in the VALUES list is not a field name or constant. If the SQL statement is UPDATE, DELETE, or MERGE, one or more of the following is true:

  • The comparison to a distribution key column is not an equality comparison.
  • The value compared to a distribution key column is not a field name or constant.
  • The distribution key column corresponds to more than one field name or constant.
6

The SQL statement is UPDATE, DELETE, or MERGE and the WHERE or ON clause is not of the form:

(dist-key-col1 = value1) AND (dist-key-col2 = value2) AND ... (dist-key-colN = valueN)

where dist-key-col1 to dist-key-colN includes all the distribution key columns and each value is a field name or constant.

7

There is at least one distribution key column that has a numeric type, but its corresponding field does not have the exact same numeric type, including the same precision and scale.

User response

If this has a negative performance impact, modify the configuration parameter or INGEST command, depending on the reason code:

1

Set the NUM_FLUSHERS_PER_PARTITION configuration parameter to 1 or greater.

2

Specify a target table that has a distribution key.

3

Specify a table whose distribution key does not contain a column whose type is a user-defined type (UDT) or a DB2SECURITYLABEL.

4

Ensure that all distribution keys are specified on the SQL statement and that each distribution key corresponds to exactly one field.

5

Ensure that all of the following are true:

  • For INSERT or REPLACE statements, all value in the VALUES list are field names or constants.
  • For UPDATE, DELETE, or MERGE statements:
    • Any comparison to a distribution key column is an equality comparison.
    • Any value compared to a distribution key column is a field name or constant.
    • Any distribution key column corresponds to one field name or constant.
6

Change the WHERE predicate or the ON predicate that it specifies all distribution key columns and it is of the form:

(dist-key-col1 = value1) AND (dist-key-col2 = value2) AND ... (dist-key-colN = valueN)

where dist-key-col1 to dist-key-colN includes all the distribution key columns and each value is a field name or constant.

7

Change the field definitions so that each field that corresponds to a numeric distribution key column has the exact same type as the distribution key column, including the same precision and scale.

SQL2901I The ingest utility completed at timestamp timestamp. Number of errors: number. Number of warnings: number. Message file: file-name.

Explanation

The ingest utility completed successfully, but returned some errors or warnings. Refer to the specified messages file to determine what those errors or warnings are.

The number of errors includes errors from which the utility could not recover, but does not include errors from which the utility recovered.

User response

If you do not want to receive this message in the future, correct the cause of the errors or warnings.

SQL2902I The ingest utility completed at timestamp timestamp. Number of errors: number. Number of warnings: number.

Explanation

The ingest utility completed successfully, but returned some errors or warnings.

The number of errors includes errors from which the utility could not recover, but does not include errors from which the utility recovered.

User response

If you do not want to receive this message in the future, correct the cause of the errors or warnings.

SQL2903W Configuration parameter parameter has been automatically adjusted to the following value: value. Reason code= reason-code

Explanation

The INGEST SET or INGEST command completed successfully, but a user-specified configuration parameter was overridden. If this message is issued for an INGEST SET command, the overriding value remains in effect for the remainder of the CLP session. If this message is issued for an INGEST command, the overriding value remains in effect only for the INGEST DATA command.

The explanation corresponding to the reason code is:

1

The commit_count and commit_period configuration parameters cannot be set to 0 on the same INGEST command. commit_period has been set to 1.

2

The commit_count configuration parameter must be set to a multiple of 1000, so it has been rounded to the nearest multiple of 1000.

3

The commit_count configuration parameter has been reduced because either the lock list or the transaction log ran out of space. The new value is the number of rows that had been committed right before the lock list or transaction log ran out of space.

4

The commit_period configuration parameter has been has been reduced because either the lock list or the transaction log ran out of space. The new value is the number of seconds between the time of the last commit and the time when the lock list or transaction log ran out of space.

10

The num_flushers_per_partition configuration parameter has been adjusted to 0 because one of the following is true:

  • For an UPDATE operation, there are no appropriate columns in the search key, or all columns in the search key are also in the update key (specified on the SET clause).
  • For a DELETE operation, there are no appropriate columns in the search key.

The search key is the set of all columns c1, c2, ... specified on a WHERE or ON clause of the form:

(c1 = $field_1) AND (c2 = $field_2) 
    AND ... (cn = $field_n)
   [AND (<any other conditions<)]

(The last AND condition enclosed in square brackets is optional.)

11

The num_flushers_per_partition configuration parameter has been adjusted to 0 in a partitioned database environment because at least one column in the table's distribution key is also in the update key (specified on the SET clause).

12

The num_flushers_per_partition configuration parameter has been adjusted to 1 because there is no index that contains at least one column that is in the search key (specified on the WHERE clause) but not in the update key (specified on the SET clause).

14

The num_flushers_per_partition configuration parameter has been adjusted to the value of the max_connections database manager configuration parameter because it cannot be greater than max_connections.

15

The num_flushers_per_partition configuration parameter has been adjusted to floor(128/(number of members)) because the target table is a column-organized table. Column-organized tables are structured such that the maximum ingest performance is achieved when a total of 128 parallel insert threads are employed over all members.

16

The num_flushers_per_partition configuration parameter has been adjusted to 50 because the target table is a column-organized table. Column-organized tables are structured such that the maximum ingest performance is achieved when 50 parallel insert threads are employed.

User response

The user response corresponding to the reason code is:

1

To avoid receiving this message, do not set commit_period to 0 if you are leaving commit_count at its default value of 0.

2

To avoid receiving this message, set commit_count to a multiple of 1000.

3

To avoid receiving this message, do one or more of the following:

  • If the warning occurred because the lock list ran out of space, increase the locklist or maxlocks database configuration parameters.
  • If the warning occurred because the transaction log ran out of space, increase the logfilsiz, logprimary, or logsecond database configuration parameters.
  • Reduce the commit_count configuration parameter to the new value or a lower value
4

To avoid receiving this message, do one or more of the following:

  • If the warning occurred because the lock list ran out of space, increase the locklist or maxlocks database configuration parameters.
  • If the warning occurred because the transaction log ran out of space, increase the logfilsiz, logprimary, or logsecond database configuration parameters.
  • Reduce the commit_period configuration parameter to the new value or a lower value
10

To avoid receiving this message, do one of the following:

  • Before issuing the INGEST command, set the ingest configuration parameter num_flushers_per_partition to 0.
  • If there are no appropriate columns in the search key, change the SQL statement on the INGEST command to specify a search key of the form:
    (c1 = $field_1) AND (c2 = $field_2)
         AND ... (cn = $field_n)
  • If all columns in the search key are also in the update key, change the search key or the update key so that the search key does not contain all the columns in the update key.
11

To avoid receiving this message, do one of the following:

  • Before issuing the INGEST command, set the ingest configuration parameter num_flushers_per_partition to 0.
  • Change the SQL statement on the INGEST command so that it does not update any of the columns in the table's distribution key.
12

To avoid receiving this message, do one of the following:

  • Before issuing the INGEST command, set the ingest configuration parameter num_flushers_per_partition to 1.
  • Define an index that includes at least one column that is in the search key but not in the update key.
14

To avoid receiving this message, do one of the following:

  • Before issuing the INGEST command, issue the INGEST SET command to set the num_flushers_per_partition configuration parameter to a value that is less than or equal to the max_connections database manager configuration parameter.
  • Set the max_connections database manager configuration parameter to AUTOMATIC or a value that is greater than or equal to the num_flushers_per_partition configuration parameter.
15

To avoid receiving this message, do one of the following:

  • Before issuing the INGEST command, issue the INGEST SET command to set the num_flushers_per_partition configuration parameter to a value that is less than or equal to the max_coordagents database manager configuration parameter.
  • Set the max_coordagents database manager configuration parameter to AUTOMATIC or a value that is greater than or equal to the num_flushers_per_partition configuration parameter.
16

To avoid receiving this message, before issuing the INGEST command, issue the INGEST SET command to set the num_flushers_per_partition configuration parameter to floor(128/(number of members)) or lower.

SQL2904W The field value at line number line-number and byte position byte-position was truncated because the data is longer than the field length.

Explanation

The specified field has a value that is longer than the field's length. The value has been truncated. For example, if the field is defined as CHAR(3) but the value is "ABCDEF", the value is truncated to "ABC".

User response

If the truncation is acceptable, no further action is required. To avoid this message, specify a longer field length on the INGEST command or edit the input data so that the length of the field value is less than or equal to the length of the field.

SQL2905I The following error occurred issuing the SQL sql-statement statement on table table-name using data from line line-number of input file file-name.

Explanation

This message provides the identification of the line and input file where the error occurred for the following message listed.

The table is either the one specified on the SQL statement of the INGEST command or the exception table. If the table is the one specified on the SQL statement, and the SQL statement is INSERT or REPLACE, and the INGEST command specified an exception table, the ingest utility attempts to insert the record into the exception table. Otherwise, the ingest utility discards the record.

User response

If the error occurred issuing the SQL statement on the target table of the INGEST command and the ingest utility successfully inserted the row into the exception table, correct the data in the exception table and copy it from the exception table to the target table. Otherwise, verify that the data on the specified line in the input file is correct. If needed, correct the data in the input file and re-run the ingest utility using an input file with only the corrected lines.

SQL2906I The following error occurred issuing the SQL sql-statement statement on table table-name using data from line line-number of pipe pipe-name.

Explanation

This message provides the identification of the line and input pipe where the error occurred for the following message listed.

The table is either the one specified on the SQL statement of the INGEST command or the exception table. If the table is the one specified on the SQL statement, and the SQL statement is INSERT or REPLACE, and the INGEST command specified an exception table, the ingest utility will attempt to insert the record into the exception table. Otherwise, the ingest utility will discard the record.

User response

No action is required.

SQL2907I The following error occurred issuing the SQL sql-statement statement on table table-name using data from line line-number of TCP/IP port port-number.

Explanation

This message provides the identification of the line and input TCP/IP port where the error occurred for the following message listed.

The table is either the one specified on the SQL statement of the INGEST command or the exception table. If the table is the one specified on the SQL statement, and the SQL statement is INSERT or REPLACE, and the INGEST command specified an exception table, the ingest utility will attempt to insert the record into the exception table. Otherwise, the ingest utility will discard the record.

User response

No action is required.

SQL2908I The following warning or error occurred while formatting data from line line-number received from pipe pipe-name.

Explanation

This message provides the identification of the input pipe where the error occurred for the following message listed.

User response

No action is required.

SQL2909I The following warning or error occurred while formatting data from line line-number received from TCP/IP port port-number.

Explanation

This message provides the identification of the input TCP/IP port where the error occurred for the following message listed.

User response

No action is required.

SQL2910N The use of modifier modifier is not consistent across all fields of type field-type.

Explanation

When modifiers are specified on a field, they must be specified on all fields that have a similar type. For example: If a decimal field specifies RADIX POINT, the same RADIX POINT character must be specified on all other INTEGER, DECIMAL, DECLFOAT, and FLOAT fields. If a format string is specified on a DATE field, the same format string must be specified on all other DATE fields. If an INTEGER field specifies EXTERNAL, then EXTERNAL must be specified on all other INTEGER, DECFLOAT, and FLOAT fields. (Fields of type DECIMAL, however, can specify PACKED or ZONED. But all fields of type DECIMAL must specify the same EXTERNAL, PACKED, or ZONED modifier as all other DECIMAL fields.)

User response

Reissue the INGEST command, specifying the modifiers on all fields of a similar type.

SQL2911N Binary field types can be specified only when the format is POSITIONAL.

Explanation

The INGEST command specified a binary field type, but the input file format is not POSITIONAL. The command failed.

User response

One of the following:

  • If the input data is in delimited format, change the field type to one that specifies character data. For example, if the field type is INTEGER, change it to INTEGER EXTERNAL. If the field type is DB2SECURITYLABEL, change it to DB2SECURITYLABEL NAME or DB2SECURITYLABEL STRING.
  • If the input data is in positional format, change the INGEST command to specify FORMAT POSITIONAL. If needed, add the POSITION clause to each field definition.

SQL2912N The ingest utility failed because one or more fields are binary type but the length of those binary fields was not specified.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. If any input fields are a binary data type, the length of those binary fields must be specified with the INGEST command or db2Ingest API call.

This message is returned when an attempt is made to ingest data that contains binary fields and the length of those binary fields is not specified.

User response

Perform the ingest operation again, specifying the length of any binary fields.

SQL2913N Field field-name does not specify the end position or the length.

Explanation

INGEST commands that specify FORMAT POSITIONAL must specify or imply the field length, or the POSITION parameter must specify the end position. The command failed.

User response

Reissue the INGEST command and specify either the end position of the field or the field length.

SQL2914I The ingest utility has started the following ingest job: job-ID.

Explanation

The ingest utility is starting. The job ID is the one specified on the RESTART parameter or if none was specified, a default job ID that the utility generated. The job ID can be used on the INGEST GET STATS command while the INGEST command is running. If the INGEST command fails, the job ID can be used on a later INGEST command with the RESTART CONTINUE or RESTART TERMINATE parameter.

User response

Save the job ID in case it is needed for a later command.

SQL2915N The sum of all the field lengths is number, but the specified record length is only length.

Explanation

The length specified by RECORDLEN on the INGEST command must be greater than or equal to the sum of the field lengths specified on each field definition. The command failed.

User response

Correct the field lengths or the RECORDLEN parameter.

SQL2916N The ingest utility failed because the specified SQL statement does not reference any fields.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. How the ingest utility modifies the target table is controlled by specifying an SQL statement with the INGEST command or db2Ingest API call.

This message is returned when an attempt is made to perform an ingest operation with an SQL statement that references no fields.

User response

Modify the SQL statement to include at least one field, and then perform the ingest operation again.

SQL2917N The ingest operation failed because the SHM_MAX_SIZE configuration parameter is too small.

Explanation

You can specify the maximum size of Inter Process Communication (IPC) shared memory by setting the SHM_MAX_SIZE ingest utility configuration parameter.

This message is returned when the ingest operation fails because the SHM_MAX_SIZE configuration parameter is not large enough.

User response

  1. Set the SHM_MAX_SIZE configuration parameter to a larger value (by issuing the INGEST SET command, for example.)
  2. Run the ingest operation again.

SQL2918N Invalid combination of keywords, keyword1 and keyword2, specified in the INGEST command.

Explanation

The INGEST command failed because of an invalid combination of keywords.

User response

Remove the conflicting keywords and reissue the command.

SQL2919N The ingest utility failed because the following unsupported table type was specified: table-type.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can stream data into multiple types of tables, including the following examples:

  • Multidimentional clustering tables
  • Materialized query tables
  • Partitioned tables
  • Others

This message is returned when an attempt is made to ingest data into a type of table that the ingest utility does not support.

User response

Perform the ingest operation again, specifying a supported table type.

SQL2920N The clause clause does not reference any fields.

Explanation

An INGEST command that specifies an SQL statement that uses a WHERE or ON clause must include a search condition that specifies at least one field. The command failed.

User response

Reissue the INGEST command specifying a search condition.

SQL2921N The ingest utility failed because a specified field name is not defined in the input source. Field name: field-name.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can specify to the ingest utility how the data is defined in the input stream by describing the fields into which the data is separated.

This message is returned when an attempt is made to perform an ingest operation with an SQL statement that references a data field that does not exist in the input source data.

User response

Perform the ingest operation again, specifying fields that correspond to the fields in the input data stream.

SQL2922I The following warning or error occurred while formatting data from line line-number of input file file-name.

Explanation

This message provides the identification of the input file where the error occurred for the following message listed.

User response

No action is required.

SQL2923N The ingest utility failed because the following invalid field type was specified: invalid-type

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can specify the data type of input fields when you invoke the ingest operation.

This message is returned when an invalid field type is specified.

User response

Perform the ingest operation again, specifying a supported field type.

SQL2924N Field field-name specifies the DEFAULTIF parameter, but its corresponding column column-name is a generated column.

Explanation

Fields that specify the DEFAULTIF parameter cannot be used in a predicate or in an expression. The command failed.

User response

Change how the field is used in the SQL statement or remove the DEFAULTIF parameter, and reissue the command.

SQL2925N The ingest utility failed because the field field-name specifies the DEFAULTIF parameter, but the corresponding column column-name does not have a default value.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can cause the ingest utility to insert a default value into the target table whenever a certain character appears in the input data by using the DEFAULTIF parameter.

If the DEFAULTIF parameter is specified with a field definition, the column that corresponds to that field must have a default value.

This message is returned when the DEFAULTIF parameter is specified but the corresponding target table column does not have a default value.

User response

Respond to this message in one of the following ways:

  • If inserting a default value is not required, remove the DEFAULTIF parameter from the field definition and then perform the ingest operation again.
  • If inserting a default value is required, change the SQL statement so that the field corresponds to a column that has a default value, and then perform the ingest operation again.

SQL2926N The ingest operation failed because the field field-name specifies the DEFAULTIF parameter, but the corresponding column column-name has a default value that is not a constant or NULL.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can cause the ingest utility to insert a default value into the target table whenever a certain character appears in the input data by using the DEFAULTIF parameter.

If the DEFAULTIF parameter is specified with the ingest utility, the default value of the corresponding target table column must be a constant or NULL.

This message is returned when the DEFAULTIF parameter is specified but the default value of the corresponding target table column is neither constant nor NULL.

User response

Change how the field is used in the SQL statement or remove the DEFAULTIF parameter, and resubmit the ingest operation.

SQL2927N The field value in line line-number and field field-number cannot be converted to the value type: value-type.

Explanation

There might be a data type mismatch because the value in the specified field cannot be converted to the field's data type.

User response

Correct the input file or change the field's type, and reissue the command.

SQL2928N The ingest operation failed because the specified input source is not a named pipe. Specified input source: input-source.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility.

This message is returned when an attempt is made to invoke the ingest utility, but the specified input source is not a file or named pipe.

User response

Perform the ingest operation again, specifying a valid input source.

SQL2931N An error occurred opening, reading, or closing the following named pipe: pipe-name.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility.

This message is returned when the ingest utility could not open, read from, or close the specified input file or named pipe.

User response

Verify the input source and then perform the ingest operation again, specifying a valid input source.

SQL2932N The ingest utility failed to allocate an interprocess communication (IPC) resource after number attempts. Resource type resource-type-code.

Explanation

The ingest utility failed to allocate an interprocess IPC resource after the specified number of attempts. The resource type can be one of the following:

  1. Shared memory
  2. Listener queue
  3. Semaphore

This message normally follows earlier messages that indicate the error or errors that occurred when trying to allocate the resource.

User response

Examine previous error messages to determine the errors that occurred. Correct the errors and re-run the INGEST command. On Linux and UNIX, if there are not enough system resources to allocate the IPC resource, use the ipcrm command to remove existing IPC resources.

SQL2933N The INGEST command has not received any data within seconds seconds as required by the configuration parameter parameter.

Explanation

The INGEST command failed.

If the parameter is PIPE_TIMEOUT, the INGEST command did not receive any data from the pipe for at least the specified number of seconds after the command opened the pipe.

User response

Verify there is not a problem with the data source that is preventing it from sending data within the specified time. If the data source needs more time to send data, increase the value of the relevant configuration parameter, or set it to 0 so there is no timeout.

SQL2934N Port number port-number to which service name service-name maps is outside the following range of allowable values: start-of-range to end-of-range.

Explanation

The port number specified (or resolved to) in the INGEST command must be within the allowable range. The INGEST command failed.

User response

Reissue the INGEST command, specifying a port within the allowable range or a service name that maps to a port number that is within the range.

SQL2935W The ingest operation did not fail. However, the field value at line number line-number and field number field-number was truncated because the data is longer than the field length.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can specify the properties such as data type or length of input fields when you invoke the ingest operation.

When a field has a value that is longer than the defined length of the field, the value will be truncated. For example, if the field is defined as CHAR(3) but the value is "ABCDEF", the value is truncated to "ABC".

This message is returned when an input field has a value that is longer than the defined length of the field.

User response

If the truncation is acceptable, no further action is required.

To avoid this message, take one of the following actions:

  • Specify a longer field length with the INGEST command or the db2Ingest API call.
  • Edit the input data so that the length of the field value is less than or equal to the length of the field.

SQL2936N Port number port-number at host host-name is already in use.

Explanation

The INGEST command cannot use that port because it is being used by another running application. The INGEST command failed.

User response

Reissue the INGEST command, specifying a port that is not in use.

SQL2937N The DEFAULTIF clause on field field-name specifies a position but the format is not positional.

Explanation

The INGEST command specified the DEFAULTIF clause, but the input file format is not POSITIONAL. The command failed.

User response

One of the following:

  • If the input data is in delimited format, remove the position specification from the DEFAULTIF clause.
  • If the input data is in positional format, change the INGEST command to specify FORMAT POSITIONAL. If needed, add the POSITION clause to each field definition

SQL2938N The beginning-ending location pair begin, end for field field-name is not valid. Reason code reason-code.

Explanation

The field specification for locating the input data for the indicated database column within the input non-delimited ASCII file is not valid for the reason indicated by the following reason codes:

1

The start position is 0.

2

The end position is less than the start position.

3

The end position is greater than 32 767.

4

Fields of type SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, FLOAT, and DECFLOAT with the EXTERNAL modifier have a maximum length of 50.

5

If a format string is specified for fields of type DATE, TIME, and TIMESTAMP(p), the field length must be greater than or equal to length of the shortest value that matches the format string.

6

If a format string is not specified:

  • For DATE fields, the field length must be between 8 and 10, inclusive.
  • For TIME fields, the field length must be between 4 and 8, inclusive.
  • For TIMESTAMP fields, the field length must be between 19 and 32, inclusive.

The INGEST command failed.

User response

Follow the action indicated by the reason code and resubmit the command:

1

Specify a start position that is greater than 0.

2

Specify an end position that is greater than the start position.

3

Specify an end position that is less than or equal to 32 767.

4

Change the field length to a value less than or equal to 50.

5

Shorten the format string so that the length of shortest value that matches the format string is less than or equal the field length, or change the field length to a value greater than or equal to the the length of shortest value that matches the format string.

6

Change the field length to a value within the ranges given in the explanation of reason code 6.

SQL2939N The value value for command parameter parameter is outside the following range of allowable values: start-of-range to end-of-range.

Explanation

The current value for the indicated command parameter is not valid because it is outside the allowable range.

The command failed.

User response

Reissue the command, specifying a value for the command parameter that is within the allowable range.

SQL2940N The ingest utility does not support database server versions earlier than version version.

Explanation

The ingest utility does not support ingesting data into tables that are on versions of the database server earlier than the version shown in the message.

User response

Connect to a database server whose version is the same as or later than the version shown in the message and re-run the utility.

SQL2941N The length, precision, or scale value for field field-name is not valid.

Explanation

The field type on the field definition specifies a length, precision, or scale that is not valid. Examples of this error are:

  • A field definition that specifies CHAR(70000) is not valid because the maximum length of a field is 32767.

User response

Correct the length, precision, or scale on the field definition.

SQL2942N Field field-name specifies the DEFAULTIF clause, but is associated with multiple columns or used in an expression.

Explanation

When a field definition specifies DEFAULTIF, the field must be assigned to one and only one column and cannot be part of an expression that is assigned to that column. For example, consider the following INGEST command:

INGEST FROM FILE my_file.txt FORMAT DELIMITED
  ...
  UPDATE my_table
  SET (c1, c2, c3, c4, c5) =
      ($field1, $field2, $field2, 
          $field3, $field4+$field5) 
  WHERE $field3 = 1;

Only $field1 can specify DEFAULTIF. $field2 cannot because it is assigned to multiple columns. $field3 cannot because it is also used in a predicate. $field4 and $field5 cannot because they are used in an expression.

User response

Remove the DEFAULTIF modifier or change the SQL statement so that the field is assigned to one and only one column and is not part of an expression assigned to that column.

SQL2943N The ingest utility cannot update the table because all updated columns in the SQL statement are defined as GENERATED ALWAYS.

Explanation

When either of the following is true, the ingest utility cannot insert into or update the table:

  • The SQL statement on the INGEST command is INSERT (including as part of a MERGE statement) and one of the following is true:
    • All the columns specified after the table name are defined as GENERATED ALWAYS.
    • No columns are specified after the table name, but all the table's non-hidden columns are defined as GENERATED ALWAYS.
  • The SQL statement on the INGEST command is UPDATE (including as part of a MERGE statement) and all the columns specified on the SET clause are defined as GENERATED ALWAYS.

User response

Change the command to specify at least column that is not defined as GENERATED ALWAYS.

SQL2944N The ingest operation failed because the number of fields is not the same as the number of specified or implied target table columns.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. How the ingest utility modifies the target table is controlled by specifying an SQL statement with the INGEST command or db2Ingest API call.

When the ingest utility is used with an INSERT statement that does not have a VALUES clause, the number of fields must be the same as the number of specified or implied table columns. (The number of implied columns is the number of non-hidden columns in the table.)

For example, the following INGEST command is not valid because two fields are specified but there are three columns:

INGEST FROM FILE my_file.del FORMAT DELIMITED
  ($field1 INTEGER EXTERNAL, $field2 CHAR(32))
  INSERT INTO my_table(col1, col2, col3);

User response

Perform the insert operation again, specifying the same number of fields as the number of specified or implied table columns, or add the VALUES clause to the INSERT statement.

SQL2945N Fields of type DB2SECURITYLABEL must specify NAME or STRING for delimited files.

Explanation

When the INGEST command specifies FORMAT DELIMITED, every field of type DB2SECURITYLABEL must specify the NAME or STRING modifier.

User response

Add the NAME or STRING modifier to every field of type DB2SECURITYLABEL.

SQL2946N The INGEST command must include the field list for this file format.

Explanation

The INGEST command can omit the field list only when the format is delimited. If the format is positional, you must specify the field list.

User response

Add the field list to the INGEST command.

SQL2947N Ingest job with identifier job-id not found.

Explanation

The command failed because the ingest job with the specified identifier was not found.

User response

  • If you are issuing the INGEST GET STATS command, specify the identifier of an ingest job that is still running. To display these identifiers, issue the INGEST LIST command.
  • If you are issuing the INGEST command with the RESTART parameter, specify the identifier of an ingest job whose restart data is still in the ingest restart table. To display these identifiers, issue the following query:
    SELECT jobid FROM systools.ingestrestart

SQL2948N The ingest utility failed because the data type of a column in the target table is not supported with the ingest operation. Data type: data-type. Column name: column-name.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. There are some restrictions on the data types that are supported with the ingest utility.

This message is returned when an attempt is made to ingest data into a column that is an unsupported data type.

User response

Alter the INGEST command or db2Ingest API call so that the unsupported column is not included in the ingest operation, and then perform the ingest operation again.

SQL2949N The value assigned to a column or used in a predicate is too long or out of range.

Explanation

This message is preceded by a message that identifies the input source name and line number. One of the fields in the specified input record is too long or out of range for the table column.

User response

Specify a different table or edit the input data so that:

  • All field values that correspond to a numeric table column are within the range of the column's data type.
  • All field values that correspond to a character table column have a length that is less than or equal to the column's length.

SQL2950N The base tables of view view-name are protected by more than one security policy.

Explanation

When you ingest into an updateable view and the view has multiple base tables, all the base tables that are protected by a security policy must be protected by the same security policy.

User response

One of the following:

  • Specify a different table or view.
  • Alter the base tables so that all the base tables that are protected by a security policy are protected by the same security policy.

SQL2951N The ingest operation failed because the following security policy was not found: security-policy-ID.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. A security administrator can use security policies to define criteria that determine who has write access and who has read access to individual rows and individual columns of tables.

This message is returned when an attempt is made to ingest data into a table that is protected by a security policy but catalog view SYSCAT.SECURITYPOLICIES has no security policy with that ID.

User response

Alter the table so that it is protected by a valid security policy and then run the ingest operation again.

SQL2952N Code page code-page is not a valid code page, not compatible with the client code page, or not supported by the INGEST command.

Explanation

The INPUT CODEPAGE parameter on the INGEST command specifies a code page number that is not valid for one of the following reasons:

  • The number is not a valid code page.
  • DB2 or the INGEST command does not support the code page.
  • The code page is not compatible with the client code page.

User response

Correct the code page number on the INPUT CODEPAGE parameter and reissue the command.

SQL2953N The field value in line line-number starting at byte position number cannot be converted to the value type: field-type.

Explanation

There might be a data type mismatch because the field value at the specified byte position cannot be converted to the field's data type.

User response

Correct the input file or change the field's type and reissue the command.

SQL2954N The ingest operation failed because more than the allowable number of field definitions were specified. Allowable number of field definitions: maximum-number.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can specify a list of field definitions for the ingested data, but there is an upper limit to the number of field definitions that you can specify. The maximum allowable number of field definitions is given in the runtime token maximum-number.

This message is returned when an attempt is made to specify more field definitions than the ingest utility can support.

User response

Perform the ingest operation again, specifying no more than the given maximum allowable number of field definitions.

SQL2955N The ingest utility could not find file filename.

Explanation

A file that the ingest utility requires could not be found. The installation of the DB2 Data Server Client or DB2 Data Server Runtime client might be incomplete or damaged.

User response

Reinstall the DB2 Data Server client or the DB2 Data Server Runtime client.

SQL2956N The ingest operation failed because invalid input was specified. Structure: structure-name. Field: field-name. Value: value.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can specify to the ingest utility how the data is defined in the input stream by passing data structures such as db2IngestStruct, db2IngestCfgList, and db2IngestFormat to the db2Ingest API call.

This message is returned when an invalid value is specified for a field in one of the input data structures.

User response

Call the db2Ingest API again, specifying valid values for the input data structures.

SQL2957N The ingest operation failed to restart because the ingest utility could not find the restart log table. Restart log table name: table-name.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. If the ingest utility fails before completing, you can restart the ingest operation from the last commit point. To make an ingest operation restartable, a restart log table must be created before the ingest operation is initiated.

This message is returned when an attempt is made to restart the ingest utility but the ingest utility could not find the restart log table.

User response

  • To run the ingest operation as not restartable, reissue the command specifying RESTART OFF.
  • To perform a restartable ingest operation, create the restart log table and then run the ingest utility again

SQL2958N The INGEST command cannot restart because one of the following does not match the original INGEST command: the number of input sources, or the setting of NUM_FLUSHERS_PER_PARTITION. Original number of input sources: number-of-input-sources. Original value of NUM_FLUSHERS_PER_PARTITION: number-of-flushers. Current number of input sources: number-of-input-sources. Current value of NUM_FLUSHERS_PER_PARTITION: number-of-flushers.

Explanation

The INGEST command specified RESTART CONTINUE. In order to restart a failed INGEST command, the restarted command must meet the following requirements:

  • The NUM_FLUSHERS_PER_PARTITION configuration parameter must be the same as on the original command.
  • If the input is from files or pipes, the number of input files or pipes must be the same as on the original command.

User response

One of the following:

  • Set the NUM_FLUSHERS_PER_PARTITION configuration parameter to the value it had when the original INGEST command was run.
  • Modify the restarted INGEST command to specify the same number of files or pipes as on the original command.
  • Remove the RESTART CONTINUE parameter. In this case, the command starts from the beginning instead of resuming from where the failed command left off.

SQL2959W The utility recovered from the following error. Reason code reason-code. Number of reconnects: number. Number of retries: number.

Explanation

The ingest utility received the error that followed this message, but recovered from the error by issuing a COMMIT or issuing a ROLLBACK and reissuing the SQL statements. The utility reissued the statements the number of times specified in the message. The reason code indicates how the utility recovered from the error:

1

The utility recovered by issuing a commit earlier than requested by ingest configuration parameters COMMIT_PERIOD or COMMIT_COUNT. For this reason code, the number of reconnects and number of retires is "0".

2

The utility recovered by issuing a ROLLBACK and reconnecting or retrying the specified number of times.

User response

To avoid receiving this message, refer to the explanation of the error message that follows this message and take any corrective action that is needed.

If the error message is SQL0911N, you can also do one of the following depending on the reason code:

  • Reason code 2: Reduce the COMMIT_COUNT, COMMIT_PERIOD, or NUM_FLUSHERS_PER_PARTITION ingest configuration parameters.
  • Reason code 68: Reduce the COMMIT_COUNT or COMMIT_PERIOD ingest configuration parameters, or increase the locklist or maxlocks database configuration parameters.

SQL2960N Row row-number contains an invalid security label string for the target table.

Explanation

A field definition specifies DB2SECURITYLABEL STRING, but the value of the corresponding field in the input source is not a valid security label string. The row is not loaded.

User response

One of the following:

  • If the field definition is correct, modify the field values in the input source to specify a valid security label string.
  • If the field values in the input source are security labels in binary, remove the STRING keyword from the field definition.
  • If the field values in the input source are security label names, modify the field definition to specify DB2SECURITYLABEL NAME.

.

SQL2961N The INGEST command can specify at most number input file names or pipe names.

Explanation

The INGEST command failed because it has more than the allowable number of input file names or pipe names.

User response

Remove input file names or pipe names from the command so the number is less than or equal to than the maximum number specified in the message.

SQL2962N When restart is on, the nickname specified on the INGEST command must have server option DB2_TWO_PHASE_COMMIT set to 'Y'.

Explanation

The ingest utility issues this message when all of the following are true:

  • The INGEST command omits the RESTART parameter or specifies RESTART NEW or RESTART CONTINUE.
  • The target table is a nickname.
  • When trying to insert into or update the nickname, the utility receives message SQL30090N with reason code 18.

The SQL30090N error occurs because the utility needs to update both the remote table that the nickname refers to and the restart log table, which is local. This requires the two-phase commit protocol, but the server definition that contains the nickname is not defined with server option DB2_TWO_PHASE_COMMIT set to 'Y'.

User response

Any one of the following:

  • Alter the the server definition that contains the nickname so it specifies server option DB2_TWO_PHASE_COMMIT 'Y'.

    Note that you cannot use command SET SERVER OPTION to set the DB2_TWO_PHASE_COMMIT option for the ingest utility because the SET SERVER OPTION command affects only the CLP connection, whereas the ingest utility establishes its own connection. You must set the server option in the server definition in the catalog.

  • Specify a nickname that has server option DB2_TWO_PHASE_COMMIT set to 'Y'.
  • Specify RESTART OFF so that the ingest utility does not maintain restart information in the restart log table.
  • Specify a target table that is not a nickname.

SQL2963N The starting or ending position that was specified in the POSITION clause of the following field is not valid: field-name.

Explanation

You can ingest data to a database table from an input file or pipe by using the INGEST command. You can specify that each input record is a sequence of text or binary fields by using the POSITIONAL parameter with the INGEST command. You can specify the starting position and ending position of each field within a record by using the POSITION clause in the field definition.

This message is returned when an invalid starting or ending position is specified with the POSITION clause.

User response

  • For a numeric field, correct the field length or the end position.
  • For a DATE, TIME, or TIMESTAMP field, correct the format string or the end position.

SQL2964N The INGEST command cannot restart because the ingest job job-ID is still active. Reason code: reason-code.

Explanation

The INGEST command specifies a job ID that is currently in use, as indicated by the reason code:

1

The command specifies RESTART NEW, RESTART CONTINUE, or RESTART TERMINATE, but an INGEST command with the specified job ID is already running.

2

The command specifies RESTART NEW, but the restart table (SYSTOOLS.INGESTRESTART) already contains an INGEST command with the specified job ID.

User response

The user response corresponding to the reason code is:

1

If the intention was to start a new INGEST job, do one of the following:

  • Specify a different job ID.
  • Wait until the job that is already running completes.
  • Cancel the job that is already running.

If the intention was to restart the ingest job with the specified job ID, no action is needed because that job is still running. If the job fails, it can be restarted using the specified job ID. If the intention was to restart an ingest job with a different job ID, specify the ID of that job.

If the intention was to start a new INGEST job, do one of the following:

  • Wait until the job that is already running ends.
  • Cancel the job that is already running.
2

If you do not plan to restart the job with the specified job ID, run the INGEST command with RESTART TERMINATE to clean up the restart table for the specified job. Then re-run the INGEST command with RESTART NEW. If you plan to restart the failed job, specify a different ID for the new job.

SQL2965I The following warning or error occurred issuing the SQL sql-statement statement on table table-name.

Explanation

This message identifies the table being operated on when the error in the following message occurred. If the table is the restart table (systools.ingestrestart), the restart table might be corrupted, damaged, or missing.

User response

If the table is the restart table (systools.ingestrestart):

  • If the INGEST command gets no other errors and completes successfully, no action is needed. If you do not want to receive this message in the future, correct the error that caused the SQL operation to fail.
  • If the INGEST command fails due to additional errors, do the following:
    1. Correct the error that caused the SQL operation to fail.
    2. Run the INGEST command with RESTART TERMINATE 'jobID' to remove the entries for this job from the restart table. ('jobID' is the job ID for the failing INGEST command. This is either the ID that you specified on the RESTART NEW parameter of the INGEST command or the job ID that the INGEST command generated.)
    3. Run the original INGEST command from the beginning. (Do not specify RESTART CONTINUE.)
    4. If the problem still occurs and the restart table does not contain any information about other ingest jobs, run the SYSPROC.SYSINSTALLOBJECTS procedure to drop and re-create the restart table. After you have created the restart table, repeat step 3.
    5. If the problem still occurs, contact IBM Technical Support.

If the table is not the restart table, contact IBM Technical Support.

SQL2966I The following warning or error occurred connecting to the database. Database name or local alias: dbname. User ID: user-ID

Explanation

When the ingest utility connects to the database and gets a warning or error, the utility issues this message followed by the warning or error message. If you connected without explicitly specifying the user ID, the user-ID field is empty.

User response

Refer to the user response for the message that follows this message. If the problem still occurs, verify the following:

  • The database or alias exists and is cataloged correctly on the machine where INGEST is running. If the database directory entry specifies a node name, verify that the node is cataloged correctly:
    • If the node definition specifies a service name, verify:
      • The service name maps to the correct port number on the machine where INGEST is running.
      • The database server is listening on that port number.
    • If the node definition specifies a port number, verify that the database server is listening on the specified port number.
  • Verify that the specified user ID and its corresponding DB2 authorization ID have authority to connect to the database server.

In order to determine whether the problem is with the ingest utility or somewhere else, try connecting directly to the database server using the parameters indicated in the message, as follows:

db2 "CONNECT TO <db> USER <ID> USING <pwd>"

SQL2967I The following warning or error occurred connecting to a database partition. Partition number: number. Database name on the server: dbname. Host name: hostname. Service name or port number: service-name-or-port-number. User ID: user-ID.

Explanation

When the ingest utility runs in a DPF environment and it can determine values for each of the target table's distribution keys, it connects directly to each database partition. When the utility connects to the database partition and gets a warning or error, the utility issues this message followed by the warning or error message.

User response

Refer to the user response for the message that follows this message. If the problem still occurs, verify the following:

  • The database to which you are connected in the CLP is cataloged correctly on the machine where INGEST is running. If the database directory entry specifies a node name, verify that the node is cataloged correctly.
  • The specified host is accessible from the machine where INGEST is running.
  • If the message specifies a service name, verify:
    • The service name maps to the correct port number on the machine where INGEST is running.
    • The database server is listening on that port number.
  • If the message specifies a port number, verify that the database server partition is listening on the specified port number.
  • Verify that the specified user ID and its corresponding DB2 authorization ID have authority to connect to the database server partition.

In order to determine whether the problem is with the ingest utility or somewhere else, try connecting directly to the database server partition using the parameters shown in the message, for example:

db2 "SET CLIENT CONNECT_DBPARTITIONNUM <num>"
db2 "CONNECT TO <db> USER <ID> USING <pwd>"

SQL2968N The ingest utility failed because a non-numeric field value is used where a numeric value is expected.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can specify to the ingest utility how the data is defined in the input stream by describing the fields into which the data is separated.

This message is returned when one of the fields in the specified input record has a non-numeric value, but is used where a numeric value is expected.

User response

Respond to this message by performing one of the following actions:

  • Modify the SQL statement that is specified with the INGEST command or the db2Ingest API call so that fields which can be non-numeric are not used where a numeric value is required.
  • Modify the input data so that all fields that are used where a numeric value is expected have a numeric value.

SQL2969N A field that maps to a distribution key column contains a value that is invalid or out of range for the column type. The utility cannot pre-partition the input record. Field value: field-value. Column type: column-type. Column length: number.

Explanation

In a partitioned database environment, the utility examines the values of fields that map to distribution key columns and uses those values to determine the partition to send the record to. The utility issues this message when the field value is invalid or out of range for the corresponding distribution key column type. For example, the utility issues this message if the distribution key column type is INTEGER, but the field contains "ABC". The column type is the type of the distribution key column that corresponds to the field. The column length is the length of the column in bytes.

The utility will not send the record to DB2. If the DUMPFILE parameter is specified, the utility will write the record to the dump file.

User response

To avoid receiving this message, correct the field value in the input data.

SQL2970N Database db-name uses node node-name, but the utility cannot find the node in the node directory.

Explanation

The database directory contains an entry for the specified database and the entry specifies a node that does not exist.

User response

Define the node or modify the entry in the database directory to specify an existing node.

SQL2971N The ingest operation failed because invalid input was specified. Outer structure: outer-structure-name. Inner structure: inner-structure-name. Index: index-number. Field: field-name. Value: value.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. You can specify to the ingest utility how the data is defined in the input stream by passing data structures such as db2IngestStruct, db2IngestCfgList, and db2IngestFormat to the db2Ingest API call.

The fields of some db2Ingest input structures contain an array of objects:

  • The first field of the db2IngestFormat structure is an array of db2IngestFieldDefn objects.
  • The first field of the db2IngestCfgList structure is an array of db2IngestCfgParam objects.

This message is returned when one object in an array of objects contains an invalid field value. The runtime token index-number indicates which element in the array of objects has a problem. The index starts at zero.

User response

Call the db2Ingest API again, specifying valid values for the input data structures.

SQL2972N The ingest operation failed to restart because one or more command parameters or the input data is inconsistent with the original command.

Explanation

This message is returned when an attempt is made to restart an ingest operation, but one or more of the following is true:

Scenario 1: The target table and the restart log table (SYSTOOLS.INGESTRESTART) are in different table spaces, but the two table spaces are at different product code levels.

Scenario 2: The records in the restart log table that belong to the specified ingest job ID have been modified outside of the ingest utility.

Scenario 3: The input files or pipes for the restarted ingest operation do not provide the same records in the same order as the input files or pipes for the original command.

Scenario 4: One of more of the following parameters are different from the original ingest operation:

  • The SQL statement.
  • The field definition list, including the number of fields and all field attributes.

Scenario 5: One or more of the target table columns that the SQL command updates have a different definition than they had at the time of the original ingest operation.

Scenario 6: In a multiple database partition environment:

  • Database partitions were added or removed since the original ingest operation was run.
  • Data was redistributed across the partitions since the original ingest operation was run.

User response

The user response depends on which restriction was violated: Respond to this message according to the scenario in which this message was returned:

Scenario 1: If the target table and the restart log table are in table spaces at different product code levels, restore the table spaces containing the target table and the restart table so they are at the same level.

Scenario 2: If the records in the restart log table have been modified, restore the contents of the restart table.

Scenario 3: If the format of the input files or pipes is not the same as the format of the input files or pipes specified for the original ingest operation, specify input files or pipes that provide the same records and in the same order as on the original ingest operation.

Scenario 4: If the parameters that were specified when the ingest operation was being restarted are not the same as the parameters that were specified with the original ingest operation, modify the SQL statement and the field definition list to match the original ingest operation.

Scenario 5: If the target table has been altered since the original ingest operation, restart the ingest operation from the beginning.

Scenario 6: If database partitions have been added or removed, or if data has been redistributed since the original ingest operation, restart the ingest operation from the beginning.

SQL2973N The ingest operation failed because a field specifies an invalid format string. Field name: field-name. Field type: field-type. Specified format string: format-string.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. When a field in the input stream is a date, time, or timestamp, you can specify the format of the field by providing a format string.

This message is returned when a field definition specifies a date, time, or timestamp format string that is not valid.

User response

Perform the ingest operation again, specifying a valid format string, surrounded by single quotes, for the given field.

SQL2974N The ingest operation did not complete successfully because the primary database connection was lost before the ingest operation finished.

Explanation

You can stream data from files and pipes into DB2 database tables by using the ingest utility. If the ingest utility fails before completing, you can restart the ingest operation from the last commit point.

This message is returned when the primary database connection was lost during the initialization of the ingest operation.

User response

  1. Review the db2diag diagnostic log files for additional diagnostic details.
  2. Resolve the problem that caused the lost connection.
  3. Re-establish the connection and perform the ingest operation again.

SQL2975N When the INGEST command is restartable, the RECONNECT_COUNT ingest configuration parameter must be set to 0.

Explanation

The RECONNECT_COUNT ingest configuration parameter is set to a value greater than 0 and the INGEST command omits the RESTART parameter (so it defaults to NEW) or specifies RESTART NEW or RESTART CONTINUE.

User response

Set the RECONNECT_COUNT ingest configuration parameterto 0 or specify RESTART OFF on the INGEST command.

SQL2976W Field field-name specifies conflicting values for the length and end position. Reason code reason-code.

Explanation

There is a conflict between the field length and the field end position. The indicated reason code describes the conflict and how the utility resolves it:

1

The field type is SMALLINT, INTEGER, or BIGINT in binary. The length specified by (end position) - (start position) + 1 is 2, 4, or 8, but does not match the length of the field type. The utility will use the specified end position.

For example, if the field definition is SMALLINT POSITION(1:4), the utility will read 4 bytes even though a SMALLINT is 2 bytes. If the field contains a value outside the range of a SMALLINT, the utility will issue an error when it tries to convert the field value to a SMALLINT.

2

The field type is SMALLINT, INTEGER, or BIGINT in binary, but the length specified by (end position) - (start position) + 1 is not 2, 4, or 8. The utility will adjust the end position to match the length of the field type.

For example, if the field definition is SMALLINT POSITION(1:3), the utility will adjust the end position to 2 (because a SMALLINT is 2 bytes).

3

The field type is DECIMAL, REAL, FLOAT, or DECFLOAT in binary, but the length specified by (end position) - (start position) + 1 conflicts with the length of the field type. The utility will adjust the end position to match the length of the field type.

For example, if the field definition is REAL POSITION(1:5), the utility will adjust the end position to 4 (because a REAL is 4 bytes).

4

The field length specified on the field type conflicts with (end position) - (start position) + 1. If the specified length exceeds (end position) - (start position) + 1, the utility will adjust the length to (end position) - (start position) + 1. If the specified length is less than (end position) - (start position) + 1, the utility will adjust the end position to (start position) + length - 1.

For example, if the field definition is CHAR(10) POSITION(1:8), the utility will adjust the length to 8. If the field definition is CHAR(8) POSITION(1:10), the utility will adjust the end position to 8.

User response

To avoid receiving this message, do one of the following, depending on the reason code and the format of the data in the input source:

1

Change the field type or end position.

2

Change the field type or end position.

3

Change the field type, precision, scale, or end position.

4

Change the field end position or length.

SQL2977I Because of the previous error, the ingest utility will exit.

Explanation

The utility received an error that prevents it from continuing. The utility will exit.

Rows that were committed prior to the error remain in the table.

User response

Refer to the explanation and user response of the previous error message.

If the INGEST command specified RESTART NEW or omitted the RESTART option (in which case it defaults to NEW), correct the error and re-run the same INGEST command, specifying RESTART CONTINUE.

SQL2978I The following error occurred and the ingest utility could not recover after number reconnects and number retries. Reason code: reason-code

Explanation

Ingest configuration parameter RECONNECT_COUNT or RETRY_COUNT has a value greater than 0 and the utility received a recoverable error. The utility attempted to recover from the error but could not for the reason indicated by the reason code:

1

The number of reconnect attempts reached the value of the RECONNECT_COUNT ingest configuration parameter.

2

The number of retries reached the value of the RETRY_COUNT ingest configuration parameter.

3

The utility was interrupted or a terminating error occurred.

User response

Refer to the explanation of the error message that follows this message and take any needed corrective action.

If the error message is SQL0911N, you can also do one of the following depending on the SQL0911N reason code:

  • Reason code 2: Reduce the value for the COMMIT_COUNT, COMMIT_PERIOD, or NUM_FLUSHERS_PER_PARTITION ingest configuration parameters.
  • Reason code 68: Reduce the value for the COMMIT_COUNT or COMMIT_PERIOD ingest configuration parameters, or increase the locklist or maxlocks database configuration parameters.

If the error cannot be easily avoided and you want the utility to recover, increase the setting of one or more of the following ingest configuration parameters, depending on the reason code you received for the current message (SQL2978I):

  • For reason code 1:
    • RECONNECT_COUNT
    • RECONNECT_PERIOD
  • For reason code 2:
    • RETRY_COUNT
    • RETRY_PERIOD

SQL2979I The ingest utility is starting at timestamp.

Explanation

The ingest utility is starting at the indicated timestamp. The utility will also issue a message indicating the job ID.

User response

No user response is required.

SQL2980I The ingest utility completed successfully at timestamp timestamp

Explanation

The ingest utility completed with no warnings or errors.

User response

No user response required.

SQL2981N An error occurred calling a system function or system command. Function or command: function-or-command-name. Reason code: reason-code. Additional tokens: additional-tokens.

Explanation

An unexpected error occurred calling an operating system function or command. The reason codes are:

1

The command was not found in /usr/bin or /bin. For this reason code, the "Additional tokens" field in the message is blank.

2

The function or command failed with the system error code shown in the "Additional tokens" field of the message. On UNIX, error codes are defined in system header file errno.h. For information on Windows error codes, consult Microsoft documentation.

3

The function or command did not return output in the expected format. The "Additional tokens" field of the message shows the last line of output.

User response

The user response depends on the reason code:

1

Verify that the specified command is installed in /usr/bin or /bin and is executable. If this is not the problem, contact IBM Technical Support.

2

If you cannot resolve the problem using the system error code, contact IBM Technical Support.

3

Verify that the command or function is the version that shipped with the operating system and not a version tailored to your installation. If this is not the problem, contact IBM Technical Support.

SQL2982W The INGEST LIST command or INGEST GET STATS command did not return any information for the authorization ID that is currently connected to the database, because that authorization ID is not currently running any ingest operations on the current machine. Authorization ID: auth-ID

Explanation

You can monitor the progress of ingest operations being run by the authorization ID that is connected to the database by using the INGEST LIST command or the INGEST GET STATS command.

This message is returned when either the INGEST LIST command or the INGEST GET STATS command was issued, but the authorization ID that is currently connected to the database is not running any ingest operations on the current machine. If the authorization ID recently started an ingest operation from another session, the command might not have completed initialization or might have already finished.

User response

Ensure that you are running the INGEST LIST or INGEST GET STATS command on the same machine where you issued the INGEST command. If the authorization ID recently started an ingest operation from another session and the command has not yet completed, wait a few seconds for the command to complete initialization. Then run the INGEST LIST command or the INGEST GET STATS command again.