I wanted to dump and load our database in order to fix the indexes problem and in order to squeeze its size.
The database was dumped without any problem. The load of the database is failed with the following errors:
C:\DAL-Guy\DBDump>_proutil -B 10000 mfgsys -yy 1970 -C BULKLOAD MFGSYS.FD -TB 3
2 -TM 32
The BI file is being automatically truncated. (1526)
This session is being run with the no-integrity (-i) option. (512)
Line 27425: invalid or non-PROGRESS file name " ES_ESTIMATION" (1510)
Line 27425: unknown file "ES_ESTIMATION" (1508)
Line 27426: invalid or non-PROGRESS file name " ES_ESTIMATION" (1510)
Line 27426: unknown field "Rec_ID". (1509)
Line 27427: invalid or non-PROGRESS file name " ES_ESTIMATION" (1510)
Line 27427: unknown field "QuoteID". (1509)
Line 27428: invalid or non-PROGRESS file name " ES_ESTIMATION" (1510)
Line 27428: unknown field "EstimationUserID". (1509)
Bulk load aborted near " ES_ESTIMATION" because of errors. (1507)
Our database has relations between its tables.
I did the following test:
1) Build empty database.
2) Created two tables with relation between them.
3) Populated them with data.
4) Dumped the database.
5) The load has failed with above mentioned errors:
Line 27425: invalid or non-PROGRESS file name "ES_MYCHILDTABLE" (1510)
Line 27425: unknown file "ES_MYCHILDTABLE" (1508)
Line 27426: invalid or non-PROGRESS file name "ES_MYCHILDTABLE" (1510)
Line 27427: invalid or non-PROGRESS file name "ES_MYCHILDTABLE" (1510)
Line 27427: unknown field "MyParentTableID". (1509)
Line 27428: invalid or non-PROGRESS file name "ES_MYCHILDTABLE" (1510)
Line 27428: unknown field "MyChildTableUserID". (1509)
Bulk load aborted near "ES_MYCHILDTABLE" because of errors. (1507)
If I do the same but without defining the relation between the tables the load is completed successfully.
Is it a limitation\bug of the OpenEdge RDBMS? Do you have any suggestion how to dump and load database which contains the relations between its tables?
Thanks in advance.
Did you load the .df before you tried loading the data?
Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice http://www.cintegrity.com
Just two assumptions:
1. Just change the load order of the tables. Edit the .fd file. Be sure the "related" tables load first.
2. Do an indexrebuild after loading the "related" tables. Then continue with the rest.
- Just split up the .fd file.
- Load the "related" tables.
- Do an indexrebuild for the needed indices.
- Load the remaining tables.
Probably this splitting have to be done more then once.
For more information the .df and .fd files could be helpfull.
By the way:
- The maximum number for -TB is 31
- In my opinion -TB and -TM are useless here. The bulkload just reads the .d file line by line and adds new lines to the end of the table. No sorting.
Thank you for your reply
Yes, I loaded the .df file before
Hi Ehrhardt Petter,
I found that when I dump data to .df file then the child table not exists in the file
I tried to remove the constraint then both of the tables exists in the file
Do you have any idea why?
We seem to be missing here. There is nothing in an OpenEdge database that deals with relations between tables so nothing you do about the order of load is going to impact your ability to load. Whatever is happening here is not about relations between tables.
The messages you are reporting appear to indicate that you are trying to load a table which is not defined in the database and you say something about the table not being in the .df. If so, that is your problem since loading the .df isn't going to do you any good if it is incomplete relative to the data you are trying to dump and load.
I would try creating a new .df and even connecting both databases and dumping an incremental .df to insure that they are identical before you concern yourself with loading the data. You have to get the schema right first or you will get nowhere.