Moving a DB

Posted by fixitchris on 30-Sep-2009 08:08

I moved a db to another system, to another folder.  When opening the moved db with DataDictionary I get a message: 'cannot find or open file e:\folder\db.d1, errno = 2'.

I attempted to hex edit db.st and db.db to point to the new location but then prowin32 crashes.  What is the proper way to update the new location?

All Replies

Posted by Peter Judge on 30-Sep-2009 08:11

Take a look at the

prostrct repair

command in the doc set.

You'll also need to edit the .ST file (in a text editor) .

You shouldn't be hex editing the DB file.

-- peter

Message was edited by: Peter Judge

Posted by jmls on 30-Sep-2009 08:12

Wow, that was a very, very measured response. I would have been a lot more forthright

Posted by Admin on 30-Sep-2009 08:12

You should manually edit the .st file (using notepad.exe when on windows) to contain the new path structure - of simply the . (dot) for the folder name.

Then run

prostrct repair  .st .

from the command line.

When changing the platform (Linux to Windows or vice-versa) you need to dump and load.

Posted by Admin on 30-Sep-2009 08:13

He must have a better link to PSDN

Posted by fixitchris on 30-Sep-2009 08:21

Thanks, will try that right now.

Where in the docs can I find what all the file extensions represent?

Posted by Admin on 30-Sep-2009 08:27

http://communities.progress.com/pcom/docs/DOC-16281

Maintaining and Monitoring your Database > Maintaining Database Structure.

Posted by fixitchris on 30-Sep-2009 08:42

Does a GUI exist for such commands as prostrct?  Would it be helpful to create one in .NET ;wrapper around the exe binary to scrape the output or is there an API available to accomplish the same?

Posted by Admin on 30-Sep-2009 08:48

Does a GUI exist for such commands as prostrct? 

No - but it would definitvely helpful. I guess the reason that there's no GUI for such utilities is the UNIX background of most DBAs...

Would it be helpful to create one in .NET ;wrapper around

the exe binary to scrape the output

Sure - and don't forget to share it on PSDN Codeshare And please test it with non English versions of the Progress messages as well.

Posted by fixitchris on 30-Sep-2009 09:15

so does a Progress SDK exist for this?

Posted by fixitchris on 30-Sep-2009 09:39

What does PROMSGS have to do with it?  If i'm creating a GUI around _dbutil.exe then all my GUi needs is to parse the correct parameters.  I guess I don't know what PROMSGS is...

Posted by Admin on 30-Sep-2009 09:47

I think that all depends on how much comfort you plan to add to the error handling.

The messages that will be generated when prostrct fails:

proenv>prostrct create test test.st

OpenEdge Release 10.2A02 as of Tue Aug 11 23:11:18 EDT 2009

Syntax error in structure file:

x "Misc":12,32;1 . f 320

Line should start with d, b or a. (6820)

Error occurred on line 21. (6819)

or

proenv>set PROMSGS=c:\progress\OpenEdge102A\prolang\ger\promsgs.ger

proenv>prostrct create test test.st

OpenEdge Release 10.2A02 as of Tue Aug 11 23:11:18 EDT 2009

Syntaxfehler in Strukturdatei:

x "Misc":12,32;1 . f 320

Zeile sollte mit d, b oder a starten. (6820)

Fehler ereignet in Zeile 21. (6819)

So when parsing the output for (known) errors, you should look at the message number in ( ) and not the text.

Posted by fixitchris on 30-Sep-2009 09:55

yeah, but if i'm just scraping output then that's all i'm really doing, it would be unreliable to parse the output.

I wish those errors 6820/6819 existed in C:\Progress\OpenEdge\dotnet\bin\ ...

This thread is closed