Kbase P11493: Load from the .d files fails with (1443) DataServer, SQL Server or ODBC
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  18/01/2010 |
|
Status: Verified
SYMPTOM(s):
Load from the .d files fails with (1443)
Duplicate unique key in database table. (1443)
ERROR READING LINE #1 (Offset=0): Duplicate unique key in database table. (1443)
DataServer, SQL Server or ODBC
FACT(s) (Environment):
All Supported Operating Systems
Progress/OpenEdge Product Family
CAUSE:
During the load of data files (.d) using the Data Administration tool, the load might terminate with error (132). The error appears in the Progress generated error file (table_name.e) in the working directory.
If a previous load had failed and (for example) revealed that only 10 out of 83 records were loaded into the database, the first 10 records ARE already in the database.
Therefore, next time that data is loaded into the database, for example into the same table, the existing records in the database either need to be deleted, or delete the rows of data that were loaded from the .d file already. By not deleteing the partially loaded data from the table or from the .d file, the data load will terminate with similar messages in the corresponding .e file:
With the DataServer, SQL Server or ODBC:
>> ERROR READING LINE #1 (Offset=0): 23000: [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert duplicate key row in object 'customer' with unique index 'customer##custnum'.
>> ERROR READING LINE #1 (Offset=0): 01000: [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated.
>> ERROR READING LINE #1 (Offset=0): Duplicate unique key in database table. (1443)
** Tolerable load error rate is: 0%.
** Loading table Customer is stopped after 1 error(s).
>> ERROR! Trailer indicated 83 records, but 0 records were loaded.
FIX:
If the .d's are large, or there are many involved:
1) Delete the existing data in the database.
2) Re-dump the data, and load the data again
or
1) Delete the rows of the partially loaded data in the corresponding .d file.
2) Load the rest of the data again.