Data Movement Utilities Guide and Reference

File Type Modifiers (Import)


Table 5. Valid File Type Modifiers (Import)
Modifier Description
All File Formats
compound=x x is a number between 1 and 100 inclusive. Uses nonatomic compound SQL to insert the data, and x statements will be attempted each time.

If this modifier is specified, and the transaction log is not sufficiently large, the import operation will fail. The transaction log must be large enough to accommodate either the number of rows specified by COMMITCOUNT, or the number of rows in the data file if COMMITCOUNT is not specified. It is therefore recommended that the COMMITCOUNT option be specified to avoid transaction log overflow.

This modifier is incompatible with INSERT_UPDATE mode, hierarchical tables, and the following modifiers: usedefaults, identitymissing, identityignore, generatedmissing, and generatedignore.

generatedignore This modifier informs the import utility that data for all generated columns is present in the data file but should be ignored. This results in all values for the generated columns being generated by the utility. This modifier cannot be used with the generatedmissing modifier.
generatedmissing If this modifier is specified, the utility assumes that the input data file contains no data for the generated columns (not even NULLs), and will therefore generate a value for each row. This modifier cannot be used with the generatedignore modifier.
identityignore This modifier informs the import utility that data for the identity column is present in the data file but should be ignored. This results in all identity values being generated by the utility. The behavior will be the same for both GENERATED ALWAYS and GENERATED BY DEFAULT identity columns. This means that for GENERATED ALWAYS columns, no rows will be rejected. This modifier cannot be used with the identitymissing modifier.
identitymissing If this modifier is specified, the utility assumes that the input data file contains no data for the identity column (not even NULLs), and will therefore generate a value for each row. The behavior will be the same for both GENERATED ALWAYS and GENERATED BY DEFAULT identity columns. This modifier cannot be used with the identityignore modifier.
lobsinfile lob-path specifies the path to the files containing LOB values.
no_type_id Valid only when importing into a single sub-table. Typical usage is to export data from a regular table, and then to invoke an import operation (using this modifier) to convert the data into a single sub-table.
nodefaults If a source column for a target table column is not explicitly specified, and the table column is not nullable, default values are not loaded. Without this option, if a source column for one of the target table columns is not explicitly specified, one of the following occurs:
  • If a default value can be specified for a column, the default value is loaded
  • If the column is nullable, and a default value cannot be specified for that column, a NULL is loaded
  • If the column is not nullable, and a default value cannot be specified, an error is returned, and the utility stops processing.
usedefaults If a source column for a target table column has been specified, but it contains no data for one or more row instances, default values are loaded. Examples of missing data are:
  • For DEL files: ",," is specified for the column
  • For ASC files: The NULL indicator is set to yes for the column
  • For DEL/ASC/WSF files: A row that does not have enough columns, or is not long enough for the original specification.
Without this option, if a source column contains no data for a row instance, one of the following occurs:
  • If the column is nullable, a NULL is loaded
  • If the column is not nullable, the utility rejects the row.
ASCII File Formats (ASC/DEL)
dateformat="x" x is the format of the date in the source file.a Valid date elements are:
  YYYY - Year (four digits ranging from 0000 - 9999)
  M    - Month (one or two digits ranging from 1 - 12)
  MM   - Month (two digits ranging from 1 - 12;
            mutually exclusive with M)
  D    - Day (one or two digits ranging from 1 - 31)
  DD   - Day (two digits ranging from 1 - 31;
            mutually exclusive with D)
  DDD  - Day of the year (three digits ranging
            from 001 - 366; mutually exclusive
            with other day or month elements)

A default value of 1 is assigned for each element that is not specified. Some examples of date formats are:

   "D-M-YYYY"
   "MM.DD.YYYY"
   "YYYYDDD"
implieddecimal The location of an implied decimal point is determined by the column definition; it is no longer assumed to be at the end of the value. For example, the value 12345 is loaded into a DECIMAL(8,2) column as 123.45, not 12345.00.
noeofchar The optional end-of-file character x'1A' is not recognized as the end of file. Processing continues as if it were a normal character.
timeformat="x" x is the format of the time in the source file.a Valid time elements are:
  H     - Hour (one or two digits ranging from 0 - 12
             for a 12 hour system, and 0 - 24
             for a 24 hour system)
  HH    - Hour (two digits ranging from 0 - 12
             for a 12 hour system, and 0 - 24
             for a 24 hour system; mutually exclusive
             with H)
  M     - Minute (one or two digits ranging
             from 0 - 59)
  MM    - Minute (two digits ranging from 0 - 59;
             mutually exclusive with M)
  S     - Second (one or two digits ranging
             from 0 - 59)
  SS    - Second (two digits ranging from 0 - 59;
             mutually exclusive with S)
  SSSSS - Second of the day after midnight (5 digits
             ranging from 00000 - 86399; mutually
             exclusive with other time elements)
  TT    - Meridian indicator (AM or PM)

A default value of 0 is assigned for each element that is not specified. Some examples of time formats are:

   "HH:MM:SS"
   "HH.MM TT"
   "SSSSS"
timestampformat="x" x is the format of the time stamp in the source file.a Valid time stamp elements are:
  YYYY   - Year (four digits ranging from 0000 - 9999)
  M      - Month (one or two digits ranging
              from 1 - 12)
  MM     - Month (two digits ranging from 1 - 12;
              mutually exclusive with M, month)
  D      - Day (one or two digits ranging from 1 - 31)
  DD     - Day (two digits ranging from 1 - 31;
              mutually exclusive with D)
  DDD    - Day of the year (three digits ranging
              from 001 - 366; mutually exclusive with
              other day or month elements)
  H      - Hour (one or two digits ranging from 0 - 12
              for a 12 hour system, and 0 - 24
              for a 24 hour system)
  HH     - Hour (two digits ranging from 0 - 12
              for a 12 hour system, and 0 - 24
              for a 24 hour system; mutually exclusive
              with H)
  M      - Minute (one or two digits ranging
              from 0 - 59)
  MM     - Minute (two digits ranging from 0 - 59;
              mutually exclusive with M, minute)
  S      - Second (one or two digits ranging
              from 0 - 59)
  SS     - Second (two digits ranging from 0 - 59;
              mutually exclusive with S)
  SSSSS  - Second of the day after midnight (5 digits
              ranging from 00000 - 86399; mutually
              exclusive with other time elements)
  UUUUUU - Microsecond (6 digits ranging
              from 000000 - 999999)
  TT     - Meridian indicator (AM or PM)

A default value of 1 is assigned for unspecified YYYY, M, MM, D, DD, or DDD elements. A default value of 0 is assigned for all other unspecified elements. Following is an example of a time stamp format:

   "YYYY/MM/DD HH:MM:SS.UUUUUU"

The following example illustrates how to import data containing user defined date and time formats into a table called schedule:

   db2 import from delfile2 of del
      modified by timestampformat="yyyy.mm.dd hh:mm tt"
      insert into schedule
ASC (Non-delimited ASCII) File Format
nochecklengths If nochecklengths is specified, an attempt is made to import each row, even if the source data has a column definition that exceeds the size of the target table column. Such rows can be successfully imported if code page conversion causes the source data to shrink; for example, 4-byte EUC data in the source could shrink to 2-byte DBCS data in the target, and require half the space. This option is particularly useful if it is known that the source data will fit in all cases despite mismatched column definitions.
nullindchar=x x is a single character. Changes the character denoting a null value to x. The default value of x is Y.b

This modifier is case sensitive for EBCDIC data files, except when the character is an English letter. For example, if the null indicator character is specified to be the letter N, then n is also recognized as a null indicator.

reclen=x x is an integer with a maximum value of 32 767. x characters are read for each row, and a new-line character is not used to indicate the end of the row.
striptblanks Truncates any trailing blank spaces when loading data into a variable-length field. If this option is not specified, blank spaces are kept.

In the following example, striptblanks causes the import utility to truncate trailing blank spaces:

   db2 import from myfile.asc of asc
      modified by striptblanks
      method l (1 10, 12 15) messages msgs.txt
      insert into staff

This option cannot be specified together with striptnulls. These are mutually exclusive options.
Note:This option replaces the obsolete t option, which is supported for back-level compatibility only.

striptnulls Truncates any trailing NULLs (0x00 characters) when loading data into a variable-length field. If this option is not specified, NULLs are kept.

This option cannot be specified together with striptblanks. These are mutually exclusive options.
Note:This option replaces the obsolete padwithzero option, which is supported for back-level compatibility only.

DEL (Delimited ASCII) File Format
chardelx x is a single character string delimiter. The default value is a double quotation mark ("). The specified character is used in place of double quotation marks to enclose a character string.bc

The single quotation mark (') can also be specified as a character string delimiter. In the following example, chardel'' causes the import utility to interpret any single quotation mark (') it encounters as a character string delimiter:

   db2 "import from myfile.del of del
      modified by chardel''
      method p (1, 4) insert into staff (id, years)"
coldelx x is a single character column delimiter. The default value is a comma (,). The specified character is used in place of a comma to signal the end of a column.bc

In the following example, coldel; causes the import utility to interpret any semicolon (;) it encounters as a column delimiter:

   db2 import from myfile.del of del
      modified by coldel;
      messages msgs.txt insert into staff
datesiso Date format. Causes all date data values to be imported in ISO format.
decplusblank Plus sign character. Causes positive decimal values to be prefixed with a blank space instead of a plus sign (+). The default action is to prefix positive decimal values with a plus sign.
decptx x is a single character substitute for the period as a decimal point character. The default value is a period (.). The specified character is used in place of a period as a decimal point character.bc

In the following example, decpt; causes the import utility to interpret any semicolon (;) it encounters as a decimal point:

   db2 "import from myfile.del of del
      modified by chardel'
      decpt; messages msgs.txt insert into staff"
delprioritychar The current default priority for delimiters is: record delimiter, character delimiter, column delimiter. This modifier protects existing applications that depend on the older priority by reverting the delimiter priorities to: character delimiter, record delimiter, column delimiter. Syntax:
   db2 import ... modified by delprioritychar ...

For example, given the following DEL data file:

   "Smith, Joshua",4000,34.98<row delimiter>
   "Vincent,<row delimiter>, is a manager", ...
   ... 4005,44.37<row delimiter>

With the delprioritychar modifier specified, there will be only two rows in this data file. The second <row delimiter> will be interpreted as part of the first data column of the second row, while the first and the third <row delimiter> are interpreted as actual record delimiters. If this modifier is not specified, there will be three rows in this data file, each delimited by a <row delimiter>.

dldelx x is a single character DATALINK delimiter. The default value is a semicolon (;). The specified character is used in place of a semicolon as the inter-field separator for a DATALINK value. It is needed because a DATALINK value may have more than one sub-value. bc
Note:x must not be the same character specified as the row, column, or character string delimiter.
keepblanks Preserves the leading and trailing blanks in each field of type CHAR, VARCHAR, LONG VARCHAR, or CLOB. Without this option, all leading and trailing blanks that are not inside character delimiters are removed, and a NULL is inserted into the table for all blank fields.
nodoubledel Suppresses recognition of double character delimiters. For more information, see Delimiter Restrictions.
IXF File Format
forcein Directs the utility to accept data despite code page mismatches, and to suppress translation between code pages.

Fixed length target fields are checked to verify that they are large enough for the data. If nochecklengths is specified, no checking is done, and an attempt is made to import each row.

indexixf Directs the utility to drop all indexes currently defined on the existing table, and to create new ones from the index definitions in the PC/IXF file. This option can only be used when the contents of a table are being replaced. It cannot be used with a view, or when a insert-column is specified.
indexschema=schema Uses the specified schema for the index name during index creation. If schema is not specified (but the keyword indexschema is specified), uses the connection user ID. If the keyword is not specified, uses the schema in the IXF file.
nochecklengths If nochecklengths is specified, an attempt is made to import each row, even if the source data has a column definition that exceeds the size of the target table column. Such rows can be successfully imported if code page conversion causes the source data to shrink; for example, 4-byte EUC data in the source could shrink to 2-byte DBCS data in the target, and require half the space. This option is particularly useful if it is known that the source data will fit in all cases despite mismatched column definitions.

Notes:

  1. The import utility does not issue a warning if an attempt is made to use unsupported file types with the MODIFIED BY option. If this is attempted, the import operation fails, and an error code is returned.

  2. a Double quotation marks around the date format string are mandatory. Field separators cannot contain any of the following: a-z, A-Z, and 0-9. The field separator should not be the same as the character delimiter or field delimiter in the DEL file format. A field separator is optional if the start and end positions of an element are unambiguous. Ambiguity can exist if (depending on the modifier) elements such as D, H, M, or S are used, because of the variable length of the entries.

    For time stamp formats, care must be taken to avoid ambiguity between the month and the minute descriptors, since they both use the letter M. A month field must be adjacent to other date fields. A minute field must be adjacent to other time fields. Following are some ambiguous time stamp formats:

       "M" (could be a month, or a minute)
       "M:M" (Which is which?)
       "M:YYYY:M" (Both are interpreted as month.)
       "S:M:YYYY" (adjacent to both a time value and a date value)
    

    In ambiguous cases, the utility will report an error message, and the operation will fail.

    Following are some unambiguous time stamp formats:

       "M:YYYY" (Month)
       "S:M" (Minute)
       "M:YYYY:S:M" (Month....Minute)
       "M:H:YYYY:M:D" (Minute....Month)
    
    Note:Some characters, such as double quotation marks and back slashes, must be preceded by an escape character (for example, \).

  3. b The character must be specified in the code page of the source data.

    The character code point (instead of the character symbol), can be specified using the syntax xJJ or 0xJJ, where JJ is the hexadecimal representation of the code point. For example, to specify the # character as a column delimiter, use one of the following:

       ... modified by coldel# ...
       ... modified by coldel0x23 ...
       ... modified by coldelX23 ...
    

  4. c Delimiter Restrictions lists restrictions that apply to the characters that can be used as delimiter overrides.


[ Top of Page | Previous Page | Next Page ]