Moving a DB - Forum - OpenEdge Deployment - Progress Community
 Forum

Moving a DB

  • 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?

  • 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

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

  • 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.

  • He must have a better link to PSDN

  • Thanks, will try that right now.

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

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

    Maintaining and Monitoring your Database > Maintaining Database Structure.

  • 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?

  • 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.

  • so does a Progress SDK exist for this?

  • 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...

  • 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.

  • 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\ ...