BinaryDump

l0913a

New Member
I want to use proutil to do a binary dump of ALL the tables in a database. What is the easiest way for a progres newbie to do this?
 

Casper

ProgressTalk.com Moderator
Staff member
You could generate a script.
something like:

Code:
DEFINE STREAM sOut.
OUTPUT STREAM sOut TO \pathtodumpdir\dump.sh
FOR EACH _file WHERE _file._hidden = NO:
 PUT STREAM sOut UNFORMATTED 
'proutil <dbname> -RO -C dump ' + _file._file-name + ' /pathtodumpdir/dump > /pathtodumpdir/log/' + _file-name + '.dmpdet' SKIP.
END.
output stream sOut close.

This will create a dumpscript for all your table in the database.

HTH,
Casper.
 

aries_rusli

New Member
Interested to know, regarding this topic.

Can I do that for the database which have some tables using pointer ( record id ) for relation between table ?
 

TomBascom

Curmudgeon
It will dump just fine. But when you load the data the recids will no longer point to what they used to point to. If you have a utility to rebuild the recids you will need to run it. If you don't have such a utility you will need to create it.
 

ron

Member
Uh-oh! Recids in the database are a worry!

25 years ago nearly all databases had (effectively) recids in them all over the place. They were so fragile that relational databases were invented - to move away from that way of doing things!

IMHO ... putting recids in a database is a very risky practise. I would avoid it strenuously. If I did find a situation where it was justifiable - I would not put it in production until a utility (as Tom mentions) is written and tested to "repair" all the pointers - WHEN necessary. (Not "IF" necessary -- it WILL be necessary!)

Ron.
 

DevTeam

Member
yeah, I was really shocked, when I entered my current company, to see fields storing Record Ids... What about all that I learned in school about all EDBMS "Normal Forms" ???

The worst is that they even store recid chained-lists, to reproduce tree-shaped diagrams...

But it seems to work quite well ! And as it has been written, everytime a dump / load is done, we do use programs to rebuild those chained-lists...
 
Top