Consultor Eletrônico



Kbase P15424: Error 233 starting up an uncompiled application.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Unverified

SYMPTOM(s):

Error starting up the application.

** Insufficient access privilege for Field <field-name>. (233)

Application programs are not compiled.

Database security was defined not to allow blank userid.

Application does call SETUSERID() to set a non-blank userid.

CHANGE:

Removed the -U and -P client startup parameters.

CAUSE:

As a consequence of removing the -U and -P parameters, the Progress client has a blank userid at the very moment the application is started up.
Because the application programs are not precompiled, a non-blank userid is needed to compile those that access the database; the call to SETUSERID() does not help, as SETUSERID() will be executed only after the program has been successfully compiled.

FIX:

Your startup procedure must be changed so that the call to SETUSERID() is made before the rest of the application is launched.
For example, the following will not work:

/* main.p */
SETUSERID("myId", "myPassord", "myDb").
FIND myTable WHERE .....

Instead the following will work:

/* main.p */
SETUSERID("myId", "myPassord", "myDb").
RUN main2.p.

/* main2.p. */
FIND myTable WHERE .....

When main.p is first executed, the Progress userid is blank, but because main.p does not access the database it will compile successfully. After that, the SETUSERID() is executed. Now, main2.p will be launched with Progress userid myId, so main2.p will compile and execute successfully too.