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