My vendor (or I) put a DBAUTHKEY in our OpenEdge 12.x databases to protect them from unauthorized r-code. How do I authorize ProTop r-code to run against them?
NOTE: This only applies to OE12.x databases as ProTop works as is against OE11.x and earlier databases that use a DBAUTHKEY.
When I try to run ProTop against my OE12.x database, I get this fatal error pop-up box:
and this message at the bottom of the screen:
What do I do? I want to run ProTop on this database!
Starting in ProTop 327, you can authorize ProTop r-code to run against your OE12.x DBAUTHKEY-protected database. But, there are some prerequisites:
On the same *nix server:
- OE 12.x installed with ...
- A 4GL DEV license, which allows you to compile
- ProTop 328 installed
- The database(s) or copy(s) containing the DBAUTHKEY you want to authorize ProTop r-code to run against
- log in to your protop machine
- set your protop environment (this drops you into your protop directory)
- be sure the dbauthkey protected database is running
- run this for Windows:
bin\ptcompile.bat "buildProLib=yes,proLibName=protop.pl" <c:\explicit path to db>
-
run this for Linux:
bin/ptcompile.sh buildProLib=yes,proLibName=protop.pl <explicit path to db>
- The procedure library (.pl) name "protop.pl" can be any mnemonic you like, ending with .pl we are using protop.pl in this example.
- If all of your databases use the same DDBAUTHKEY, edit the "PROPATH=" line in $PROTOP/bin/protopenv
change this: PROPATH=protop-v12.pl:${PROTOP}
to this: PROPATH=protop.pl:${PROTOP} - If not all of your databases use the same DBAUTHKEY then edit $PROTOP/etc/dblist.cfg and add protop.pl to the end of each line containing a database that uses this DBAUTHKEY, followed by " :. "
It will look something like this:
ptdbak|/db/ptdbak|yourServer|yes|||protop.pl:.
You are editing the seventh pipe-delimited column, aka codePath.
You should now be able to run ProTop against your database containing the DBAUTHKEY:
protop <your db friendly name or explicit path to db>
- Repeat these steps for each of your databases that have a different DBAUTHKEY.
Other options to consider:
debugList=yes,
purgeRCode=yes,
saveRCode=no - If you have any questions, please reach out by using the "Questions? Comments?" link above.