|DB2 UDB now makes use of LOB Location Specifiers (LLS) when importing, |exporting and loading LOB information. This allows multiple LOBs to be |stored in a single file.
|An LLS is a string indicating where LOB data can be found within a |file. The format of the LLS is |filename.ext:nnn:mmm/, where |filename.ext is the name of the file that contains the LOB, |nnn is the offset of the LOB within the file (measured in bytes), |and mmm is the length of the LOB (in bytes). For example, an |LLS of db2exp.001.123.456/ indicates that the |lob is located in file db2exp.001, begins at an offset of 123 bytes |into the file, and is 456 bytes long. If the indicated size in the LLS |is 0, the LOB is considered to have a length of 0. If the length is |--1, the LOB is considered to be NULL and the filename and offset do not |matter.
|When exporting data using the lobsinfile modifier, the LOBs will |not always be placed into separate files. There may be multiple lobs in |each lob file, and multiple lobfiles per lobpath. The data file will |now contain LLS records instead of just file names.
|Import and Load have also been changed to handle the changes to the Export |function. When loading or importing data with the modified by |lobsinfile option specified, LLSs will be expected for each of the |corresponding LOB columns. If something other than an LLS is |encountered for a LOB column, the database will treat it as a LOB file, and |will load the entire file as the LOB.
|There are three new IXF data types. These three types correspond to |CLOBs, BLOBs and DBCLOBs when represented by LLSs. The values of these |data types are 964, 960, and 968 respectively.
|IXF files now require each LOB column to have its own D record. This |is created automatically by the export tool, but must be created manually if |you are using a third party utility to create the IXF files. |Additionally, an LLS is required for each LOB in the table, and not just the |non-null LOBs. If a LOB column is null, you must write an LLS |representing a null LOB.