Oracle8 Error Messages
Release 8.0
A54625_01

Library

Product

Contents


Prev Next

00001-00603: Oracle Precompiler: Pro*COBOL Release 2 Messages

00001 - 00099: Command Line (options) Messages

PCB-00001: text

Cause: This is a generic error message from the command-line processor.

Action: Correct the indicated error.

PCB-00002: command line processor severe error

Cause: The command line processor encountered a severe error.

Action: After making sure that all the command-line options are specified correctly, call customer support with a full account of all the options and configuration files used.

PCB-00003: value of DBMS option invalid with given value of MODE option

Cause: When MODE={ANSI14 | ANSI13}, DBMS=V7 or V8 was specified, or when MODE=ANSI, DBMS=v6 was specified. These option settings are incompatible. Note that the DBMS option was not available before release 1.5 of the Oracle Precompilers.

Action: With DBMS=V7 or V8, instead of MODE={ANSI14 | ANSI13}, specify MODE={ANSI | ORACLE}. With DBMS=V6, instead of MODE=ANSI, specify MODE={ANSI14 | ANSI13 | ORACLE}, but MODE=ORACLE is recommended.

PCB-00004: UNSAFE_NULL=YES must be used with DBMS=V7 or V8 and MODE=ORACLE

Cause: The option UNSAFE_NULL=YES has been used with DBMS=V6 or DBMS=NATIVE (the default) or has been used with MODE=ANSI/ANSI14/ANSI13.

Action: Use DBMS=V7 or V8 and MODE=ORACLE (the default) when using UNSAFE_NULL=YES or do not use UNSAFE_NULL=YES.

PCB-00005: command line option MODE=ANSI required with option NLS_LOCAL=YES

Cause: The precompiler option NLS_LOCAL=YES was used without also specifying MODE=ANSI. The precompiler option MODE=ANSI must be specified if NLS_LOCAL=YES.

Action: Set the precompiler option MODE=ANSI in addition to NLS_LOCAL=YES or do not set NLS_LOCAL=YES.

PCB-00006: USERID only used when SQLCHECK=FULL, userid ignored

Cause: The USERID option was specified when SQLCHECK={SYNTAX | NONE}. This is unnecessary.

Action: Specify the USERID option only when SQLCHECK=SEMANTICS.

PCB-00007: text

Cause: This is a generic error message from the command-line processor.

Action: Correct the indicated error.

PCB-00008: must use option SQLCHECK=SEMANTICS(FULL) when there is embedded PL/SQL

Cause: The precompiler tried to parse an embedded PL/SQL block when SQLCHECK={SYNTAX | NONE}. PL/SQL blocks can be parsed only when SQLCHECK=SEMANTICS is specified.

Action: Remove the PL/SQL block or specify SQLCHECK=SEMANTICS.

PCB-00009: cannot change MAXLITERAL after an EXEC SQL statement

Cause: The MAXLITERAL option has been used in an inline EXEC ORACLE OPTION statement after and EXEC SQL, EXEC TOOLS, or EXEC IAF statement. This is not allowed.

Action: Use the MAXLITERAL option only on the command line or in an EXEC ORACLE OPTION statement placed at the beginning of the input source file.

PCB-00010: SQLCHECK value in EXEC ORACLE statement exceeds command line value

Cause: The SQLCHECK option was entered inline and specified a level of checking higher than the level specified (or accepted by default) on the command line. This is not allowed. For example, if SQLCHECK={SYNTAX | LIMITED} is specified on the command line, SQLCHECK={SEMANTICS | FULL} cannot be specified inline. This informational message is; the precompiler ignores the inline value and continues processing.

Action: Revise the EXEC ORACLE statement or specify a lower level of checking on the command line.

00100 - 00199: File Manipulation Messages

PCB-00100: unable to reopen temporary file name

Cause: The precompiler was unable to reopen a temporary file Some possible causes follow:

Action: Check that sufficient privileges have been granted to access the file, and that it is not locked by another user. Also check that there is enough disk space and that the limit for open files is set high enough (check with the system manager).

PCB-00101: could not find or open system configuration file

Cause: The precompiler was unable to open the system configuration file. The system configuration file does not exist or is not in the proper directory.

Action: Check that the system configuration file is in the proper directory. See your Oracle installation documentation for where this should be. Put a new copy of PCBcob.cfg with desired default options in the proper directory.

PCB-00102: input file name length exceeds the maximum length

Cause: The file name length specified exceeded the maximum length. Some operating systems have a maximum file name length.

Action: Use a file name of length less than or equal to the maximum platform specific file name length.

PCB-00103: unable to open listing file name

Cause: The precompiler was unable to open the listing file specified by the LNAME precompiler option. Some possible causes follow:

Action: Check that the file exists, that the search path to the file is correct, that sufficient privileges have been granted to access the file, and that it is not locked by another user. Also check that there is enough disk space and that the limit for open files is set high enough (check with the system manager). If a listing file is not needed, specify LTYPE=NONE on the command line.

PCB-00104: unable to open input file name

Cause: The precompiler was unable to open the input file specified by the INAME precompiler option. Some possible causes follow:

Action: Check that the file exists, that the search path to the file is correct, that sufficient privileges have been granted to access the file, and that it is not locked by another user. Also check that there is enough disk space and that the limit for open files is set high enough (check with the system manager).

PCB-00105: included file name name exceeds name limit of num

Cause: The filename specified exceeded the maximum length. Some operating systems have a maximum file name length.

Action: Use a filename of length less than or equal to the maximum platform specific file name length.

PCB-00106: unable to open include file name

Cause: The precompiler was unable to open a temporary file for internal use. There might be insufficient disk space, too many open files, or read-only protection on the output directory.

Action: Check that there is enough disk space, that the limit for open files is set high enough (check with the system manager) and that protection on the directory allows opening a file for writing.

PCB-00107: unable to open input file name

Cause: The precompiler was unable to open the input file specified by the INAME precompiler option. Some possible causes follow:

Action: Check that the file exists, that the search path to the file is correct, that sufficient privileges have been granted to access the file, and that it is not locked by another user. Also check that there is enough disk space and that the limit for open files is set high enough (check with the system manager).

PCB-00108: unable to open list file name

Cause: The precompiler was unable to open the listing file specified by the LNAME precompiler option. Some possible causes follow:

Action: Check that the file exists, that the search path to the file is correct, that sufficient privileges have been granted to access the file, and that it is not locked by another user. Also check that there is enough disk space and that the limit for open files is set high enough (check with the system manager). If a listing file is not needed, specify LTYPE=NONE on the command line.

PCB-00109: unable to open generated source file name

Cause: The precompiler was unable to open the output file specified by the NAME precompiler option. Some possible causes follow:

Action: Check that the file exists, that the search path to the file is correct, that sufficient privileges have been granted to access the file, and that it is not locked by another user. Also check that there is enough disk space and that the limit for open files is set high enough (check with the system manager).

PCB-00110: unable to open temporary file name

Cause: The precompiler was unable to open a file for temporary use.Some possible causes follow:

Action: Check that the file exists, that sufficient privileges have been granted to access the file, and that it is not locked. Also check that there is enough disk space and that the limit for open files is set high enough (check with the system manager).

00200 - 00299: Host Variable Messages

PCB-00200: cannot equivalence PIC N or PIC G variable name

Cause: A PIC N variable or an implicit VARCHAR group item (with a PIC N variable as an elementary item) was used in an EXEC SQL VAR statement. This is not allowed.

Action: Do not use the PIC N variable in an EXEC SQL VAR statement. If you want an equivalence to an Oracle type using an EXEC SQL VAR statement, use a PIC X variable, instead of a PIC N variable.

PCB-00201: indicator variable name not a group item

Cause: The host variable is a group item containing tables. Indicator variables used with this type of host variable must be group items of tables of indicators corresponding the tables in the group item host variable.

Action: Change the indicator variable to be a group item of indicator tables.

PCB-00202: indicator variable name not a group item or array

Cause: The host variable is a group item. Indicator variables used with this type of host variable must be a group item or table of indicator variables.

Action: Use a group item or table of indicator variables.

PCB-00203: nested group item name not supported

Cause: The variable used as a host variable was a group item which itself contained other group items.

Action: Remove any group items from the group item to be used as a host variable.

PCB-00204: nested group item cannot be used except in INTO or VALUES clause

Cause: A group item host variable was used outside of an INTO or VALUES clause. A group item host variable may be used only in an INTO or VALUES clause.

Action: Do not use a group item outside of an INTO or VALUES clause.

PCB-00205: cannot use PIC N or PIC G variable in PL/SQL when NLS_LOCAL=YES

Cause: A PIC N or PIC G variable was used in an embedded PL/SQL block when the precompiler option NLS_LOCAL=YES was used. A PIC N or PIC G variable is not supported in this situation.

Action: Do not use the PIC N or PIC G variable within the PL/SQL block or use precompiler option NLS_LOCAL=NO.

PCB-00206: cannot use N quoted literal in PL/SQL when NLS_LOCAL=YES

Cause: A \"N\" literal (a literal of the form N'...') was used within a PL/SQL block when the precompiler option NLS_LOCAL=YES was used. N literals are not supported in this situation.

Action: Use an ordinary literal (one without the \"N\") within the PL/SQL block or use precompiler option NLS_LOCAL=NO.

PCB-00207: invalid use of PIC N or PIC G array variable when NLS_LOCAL=YES

Cause: A PIC N variable was declared using an OCCURS clause. Tables of PIC N variables are not supported when NLS_LOCAL=YES.

Action: Declare the PIC N variable without an OCCURS clause or, do not use the PIC N variable in any SQL statements.

PCB-00208: incorrect type for host variable name

Cause: The host language syntax used to define a host variable in the Declare Section is incorrect.

Action: Check the syntax and the spelling, then correct the declaration.

PCB-00209: scale is not supported for host variable name

Cause: A variable whose format does not support scaling was used in a SQL statement or embedded PL/SQL block. The following formats do not support scaling:
PIC S9(n) COMP
PIC S9(n) COMP-4
PIC S9(n) COMP-5
PIC S9(n) BINARY
PIC 9(n) COMP

Action: Remove the scale or use a datatype that support scaling.

PCB-00210: DISPLAY-1 only allowed with PIC G and PIC N variables name

Cause: A variable declared with DISPLAY-1 in the usage clause without PIC G or PIC N in the picture clause was used in a SQL statement.

Action: Replace DISPLAY-1 with DISPLAY or change the picture clause to use PIC N or PIC G.

PCB-00211: VARYING not supported with PIC N or PIC G PICTURE clause text

Cause: The keyword VARYING was used in a PIC N variable declaration.

Action: Remove the keyword VARYING from the variable declaration. If you want to declare a PIC N VARCHAR variable, specify the precompiler option VARCHAR=YES and declare the variable as an implicit VARCHAR group item as illustrated by the following example:

EXEC SQL BEGIN 

DECLARE SECTION END-EXEC. 

    ... 

           01  ENAME. 

               05  ENAME-LEN  PIC S9(4) COMP.

           05  ENAME-ARR  PIC N(20).  

...

EXEC SQL END DECLARE 

SECTION END-EXEC.

PCB-00212: PICTURE clause not allowed for host variable name

Cause: The PIC clause was used when declaring a COMP-1 or COMP-2 variable.

Action: Remove the PIC clause from the variable declaration.

PCB-00213: SYNCHRONIZED clause not allowed for name to be used as a host variable

Cause: The SYNC clause was used when declaring a variable that is being used as a host variable.

Action: Remove the SYNC clause from the variable declaration.

PCB-00214: JUSTIFIED clause not allowed for name to be used as a host variable

Cause: The JUST clause was used when declaring a variable that is being used as a host variable.

Action: Remove the JUST clause from the variable declaration.

PCB-00215: OCCURS TO TIMES clause not allowed for name to be used as a host variable

Cause: The OCCURS clause with the TO TIMES subclause was used when declaring a variable that is being used as a host variable.

Action: Remove the TO TIMES subclause from the variable declaration.

PCB-00216: OCCURS ASCENDING/DESCENDING clause not allowed for name

Cause: The OCCURS clause with the ASCENDING or DESCENDING KEY IS subclause was used when declaring a variable that is being used as a host variable.

Action: Remove the ASCENDING or DESCENDING KEY IS subclause from the variable declaration.

PCB-00217: OCCURS INDEXED clause not allowed for host variable name

Cause: A variable declared with an OCCURS INDEXED clause was used in a SQL statement or embedded PL/SQL block.

Action: Remove the OCCURS INDEXED clause from the variable declaration.

PCB-00218: RENAMES clause not allowed for host variable name t

Cause: The RENAMES clause was used when declaring a variable that is being used as a host variable.

Action: Re-declare the host variable without using the RENAMES clause.

PCB-00219: invalid size specified in EXEC SQL VAR statement

Cause: A size which is specified which is not valid for the specified data type.

Action: Specify a size which is valid for the specified type.

PCB-00220: invalid scale specified in EXEC SQL VAR statement

Cause: A scale which is specified which is not valid for the specified data type.

Action: Specify a scale which is valid for the specified type.

PCB-00223: undeclared variable name

Cause: A variable used in a SQL statement was not declared in the Declare Section or its name is misspelled.

Action: Add or correct the variable declaration.

PCB-00224: ambiguously referenced variable name

Cause: There is more than one variable of the same name and the qualification given was insufficient to determine which variable the reference was to.

Action: Use more complete qualification in the variable reference.

PCB-00225: undeclared SQL identifier name

Cause: The name of a descriptor, statement, or cursor was not declared or is misspelled, or was declared as a different kind of SQL identifier.

Action: Add or correct the descriptor, statement, or cursor declaration.

PCB-00226: SQL identifier name already defined

Cause: The SQL identifier (cursor name, statement name, etc.) has already been defined in another way.

Action: Do not redefine the SQL identifier. Use a different name.

PCB-00227: undeclared indicator variable name

Cause: An indicator variable used in a SQL statement was not declared in the Declare Section or its name is misspelled.

Action: Add or correct the indicator variable declaration.

PCB-00228: invalid group item variable name

Cause: An unacceptable group item variable was used in a SQL statement or its name is misspelled.

Action: Correct the group item variable declaration or its use in the SQL statement.

PCB-00229: indicator variable name has wrong type or length

Cause: An indicator variable was not declared in the Declare Section as a 2-byte integer. Indicator variables must be defined as 2-byte integers.

Action: Redefine the indicator variable as a 2-byte integer.

PCB-00230: indicator array size must not be less than its host variable

Cause: A host variable array was used with an indicator array declared with a smaller dimension. For example:

EXEC SQL BEGIN DECLARE SECTION END-EXEC.

01  EMP-NUM       OCCURS 4 TIMES PIC S9(4) COMP.

01  EMP-NUM-IND   OCCURS 2 TIMES PIC S9(4) COMP.

EXEC SQL END DECLARE SECTION END-EXEC.

...
SELECT ... INTO EMP-NUM:EMP-NUM-IND ...

Action: Increase the size of the indicator array.

PCB-00231: host and indicator variables may not have the same name.

Cause: In an EXEC SQL statement, an indicator variable had the same name as a host variable. The names of a host variable and its associated indicator variable must be different. Also, an indicator variable cannot be used as a host variable.

Action: Rename the host or indicator variable.

PCB-00232: tables not allowed as input bind variables in SELECT statement

Cause: A host table was used in the WHERE clause of a SELECT-INTO statement or in the SELECT list of a SELECT-INTO statement.

Action: Rewrite the SELECT statement without using tables or use a cursor.

PCB-00233: table size mismatch in INTO/USING. Minimum is: num

Cause: The size of a table variable in an INTO/USING clause is too small for the number of rows processed.

Action: Declare all table variables in the INTO/USING clause to have at least the minimum dimension given.

PCB-00234: FOR variable name is invalid type

Cause: The count variable in a FOR clause has the wrong datatype. The datatype must be NUMBER or LONG (or be compatible with NUMBER or LONG).

Action: Check the declaration and check that the count variable has a datatype of NUMBER or LONG (or a compatible Oracle or host-language datatype).

00300 - 00399: FIPS Flagging Messages

PCB-00300: datatype for host variable not supported by ANSI name

Cause: An Oracle extension to the ANSI/ISO standard was used. Specifically, a pointer or nonconforming datatype such as VARCHAR was used. For example, the offending code might look like:

EXEC SQL BEGIN DECLARE SECTION END-EXEC.

           01  USERNAME          PIC X(10) VARYING

           EXEC SQL END DECLARE SECTION END


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required.

PCB-00301: use of non-ANSI function is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a non-ANSI function was used. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use this function.

PCB-00302: this statement is not supported by ANSI

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a nonconforming SQL statement such as PREPARE was used. For example, the offending code might look like:

EXEC SQL PREPARE sql_statement FROM :HV END-EXEC.


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use the nonconforming statement.

PCB-00303: dynamic SQL and PL/SQL are Oracle extensions to ANSI SQL

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, dynamic SQL or embedded PL/SQL was used. For example, the offending code might look like:

EXEC SQL EXECUTE

          BEGIN

              SELECT 

... 

 END;

 END-EXEC.


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use dynamic SQL or embedded PL/SQL.

PCB-00304: Oracle extension to the WHENEVER statement

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a nonconforming keyword such as NOTFOUND, STOP, RAISE, or DO was used in the WHENEVER statement. (Note that NOT FOUND is ANSI-compliant.) For example, the offending code might look like:

EXEC SQL WHENEVER SQLERROR STOP END-EXEC.


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use the nonconforming keyword.

PCB-00305: Oracle extension to the COMMIT and ROLLBACK statements

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the parameter RELEASE, COMMENT, or FORCE were used in a COMMIT or ROLLBACK statement. For example, the offending code might look like:

EXEC SQL ROLLBACK RELEASE END-EXEC.


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use the nonconforming parameter.

PCB-00306: CREATE FUNCTION/PROCEDURE/PACKAGE/TRIGGER are Oracle extensions

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, one of the following statements was used:

    This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use any of these statements.

PCB-00307: DROP TABLE statement is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the DROP TABLE statement was used. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use the DROP statement.

PCB-00308: FOR clause is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the FOR clause was used in an array-processing SQL statement. For example, the offending code might look like:

EXEC SQL FOR :limit INSERT INTO EMP (EMPNO, JOB, DEPTNO) 

VALUES (:emp_number, :job_title, :dept_number) END-EXEC


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use the FOR clause.

PCB-00309: The CONNECT statement is Oracle implementation dependent

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the CONNECT statement was used to log on to ORACLE. For example, the offending code might look like:

EXEC SQL CONNECT :username IDENTIFIED BY :password END-EXEC. 


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, specify the AUTO_CONNECT command-line option instead of using a CONNECT statement.

PCB-00310: AT clause is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the AT <db_name> clause was used in a SQL statement. For example, the offending code might look like:

EXEC SQL AT oracle3 COMMIT RELEASE END-EXEC. 


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use the AT <db_name> clause.

PCB-00311: datatype equivalencing is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the EXEC SQL VAR statement was used.

Action: No action required. However, for ANSI/ISO compliance, do not use the EXEC SQL VAR statement.

PCB-00312: keyword WORK required here by ANSI

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the keyword WORK was used in a COMMIT or ROLLBACK statement. For example, the offending code might look like:

EXEC SQL COMMIT WORK RELEASE END-EXEC.


This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use the keyword WORK.

PCB-00313: TO SAVEPOINT clause is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the TO SAVEPOINT <save_id> clause was used in a ROLLBACK statement.

Action: No action required. However, for ANSI/ISO compliance, do not use the TO SAVEPOINT clause.

PCB-00314: DECLARE DATABASE is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the DECLARE DATABASE statement was used.

Action: No action required. However, for ANSI/ISO compliance, do not use this statement.

PCB-00315: DECLARE TABLE is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the DECLARE TABLE statement was used.

Action: No action required. However, for ANSI/ISO compliance, do not use this statement.

PCB-00316: SQL FORMS statements are Oracle extensions

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the one of the following statements was used:

    This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use any of these statements.

PCB-00317: group item host variables are Oracle extensions

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a group item variable was used as a host variable. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use group items as host variables.

PCB-00318: ARRAYLEN is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the ARRAYLEN statement was used. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use this statement.

PCB-00319: EXEC ORACLE statements are an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, an EXEC ORACLE statement was used. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use this statement.

PCB-00320: VARYING host variable name is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a variable declared of VARYING type was used in a SQL statement. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use this statement.

PCB-00321: implicit varchar host variables are an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, an implicit VARCHAR variable was used in a SQL statement. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action is required. However, for ANSI/ISO compliance, do not use this statement.

00400 - 00499: Tokenizer or Parsing Messages

PCB-00400: text

Cause: A generic tokenizer error was found.

Action: Do the appropriate action to fix the indicated error.

PCB-00401: character string not properly terminated

Cause: The character string was not terminated with a quote or apostrophe as appropriate or line continuation was not correct.

Action: Check that the character string is terminated properly and that line continuation syntax is correct.

00500 - 00524: Thread Messages

PCB-00500: No EXEC SQL CONTEXT USE statement encountered

Cause: No EXEC SQL CONTEXT USE statement was encountered and the option threads=yes was requested.

Action: Ensure that the necessary context variable (of type sql_context) has been declared, ALLOCATEd, and USEd prior to any executable SQL statements.

PCB-00501: runtime context variable name not of correct type

Cause: The runtime context variable referenced in an EXEC SQL CONTEXT USE statement is not of type sql_context.

Action: Declare your runtime context variable of type sql_context.

PCB-00502: this statement can only be used with THREADS=YES

Cause: EXEC SQL ENABLE THREADS or one of the EXEC SQL CONTEXT statements has been used, even though option THREADS is set to NO.

Action: Specify option THREADS=YES or remove the EXEC ENABLE THREADS or EXEC SQL CONTEXT statement from the source code.

00525 - 00549: Result Set Cursor Messages

PCB-00525: use of the AT clause is not permitted here

Cause: An explicit AT clause was used with an ALLOCATE statement or a FETCH/CLOSE statement also using a sql-cursor declaration.

Action: Remove the AT clause.

00550 - 00574: Miscellaneous Messages

PCB-00550: unable to log on to ORACLE with name. ORACLE error number: num

Cause: The precompiler was unable to log on to ORACLE with the specified username and password. An ORACLE error with given number occurred when the logon was attempted.

Action: Lookup indicated ORACLE database error message and take appropriate action.

PCB-00551: the SQLCA has already been included

Cause: The precompiler has encountered an include SQLCA statement after SQLCA has already been included. The SQLCA can only be included once.

Action: Remove the duplicate include SQLCA statement.

PCB-00552: the SQLCA and a SQLCODE variable cannot both be used

Cause: The SQLCA has been included and a SQLCODE variable has been declared. This is not allowed as references to the SQLCODE variable are ambiguous and will result in COBOL compiler errors.

Action: Use either the SQLCA or the SQLCODE variable. Remove either the include of the SQLCA or the SQLCODE variable declaration.

PCB-00553: FOR clause not allowed on SELECT statement

Cause: A FOR clause was used with a SELECT statement. This is not allowed as data returned from the last loop in the execution of the SELECT overwrites data returned in a previous loop.

Action: Remove the FOR clause from the SELECT statement and use a host- language construct to iteratively execute the SELECT statement.

PCB-00554: must EXEC SQL INCLUDE SQLCA when mode=ANSI and WHENEVER SQLWARNING used

Cause: When MODE={ANSI | ANSI14}, an attempt was made to use the WHENEVER SQLWARNING statement without declaring the SQLCA. When MODE={ANSI | ANSI14}, declaring the SQLCA is optional, but to use the WHENEVER SQLWARNING statement, the SQLCA must be declared.

Action: Remove all WHENEVER SQLWARNING statements from the program or declare the SQLCA by hardcoding it or copying it into the program with the INCLUDE statement.

PCB-00555: using WHERE CURRENT OF on cursor defined without FOR UPDATE clause

Cause: If mode=ORACLE, then a cursor defined with a WHERE CURRENT OF clause must also have a FOR UPDATE clause.

Action: Rewrite the cursor definition.

PCB-00556: unrecoverable error. Fix previous errors and re-precompile

Cause: A fatal parsing error or token stack overflow error has been encountered.

Action: Fix the syntax error that is causing the parsing error.

PCB-00557: USING clause can only be used on a PREPAREd dynamic statement

Cause: A severe semantics error occurred because the USING clause was used with the OPEN cursor statement and the cursor declaration is not for a PREPAREd statement. The correct sequence of statements should be:

EXEC SQL prepare sv from :sel_stmt END-EXEC

EXEC SQL declare csv cursor for sv END-EXEC

EXEC SQL open csv USING :hv1, :hv2 END-EXEC

Action: Use the PREPARE statement for the SQL statement and use that in the DECLARE CURSOR statement.

PCB-00558: unrecoverable error encountered during semantics processing

Cause: A severe semantics error such as an unacceptable sql type in the EXEC SQL VAR statement was encountered.

Action: Provide an acceptable sql type in the EXEC SQL VAR statement or fix the problem causing the severe error.

00575 - 00599: PL/SQL (including ARRAYLEN) Messages

PCB-00575: PLS-num: text

Cause: Refer to the indicated PL/SQL error message for the indicated condition.

Action: Refer to the indicated PL/SQL error message to correct the SQL statement or embedded PL/SQL block.

PCB-00576: PLS-num: text

Cause: The precompiler found an error in an embedded SQL statement or PL/SQL block.

Action: Refer to the indicated PL/SQL error message to correct the SQL statement or embedded PL/SQL block.

PCB-00577: use of ARRAYLEN with SQL bind arrays is ignored

Cause: ARRAYLEN is only valid with PL/SQL arrays.

Action: Use an appropriate array type.

PCB-00578: variable name must be an array

Cause: In an ARRAYLEN statement, the name of a previously declared host table was not specified. The first host variable in an ARRAYLEN statement must be a table. The second host variable, whichspecifies an array dimension, must be a 4-byte integer. The correct syntax follows:

EXEC SQL ARRAYLEN host_table (dimension) END-EXEC. 


The ARRAYLEN statement must appear along with, but somewhere after, the declarations of host_table and dimension.

Action: Check the spelling of both identifiers in the ARRAYLEN statement. If necessary, supply the missing host table name.

PCB-00579: invalid ARRAYLEN length variable type for name

Cause: A valid table dimension was not specified in an ARRAYLEN statement. The table dimension must be specified using a previously declared 4-byte integer host variable, not a literal or expression. For example, the offending code might look like:

EXEC SQL ARRAYLEN ename_array (25) END-EXEC  -- illegal dimension

Action: Supply a valid table dimension. If necessary, declare a 4-byte integer host variable for use in the ARRAYLEN statement.

PCB-00580: Previous use of host variable name uses different indicator

Cause: Within a PL/SQL statement, a host variable was used with two different indicator variables or was used with an indicator variable in one instance and without an indicator in another instance.

Action: Change all references to the host variable so that they all use the same indicator variable or all use no indicator variable.

PCB-00581: name used as both host variable and indicator

Cause: Within a PL/SQL statement, the variable was used as both a host variable and an indicator variable.

Action: Use different variables for host variables and indicator variables.

00600 - 00624: EXEC TOOLS Messages

PCB-00600: indicators are not allowed in EXEC IAF statements

Cause: Indicator variables associated with host variables cannot be used in EXEC IAF statements such as GET and PUT in a user exit.

Action: Eliminate the indicator variables. If feasible (for example with Forms V4), use EXEC TOOLS statements, which do allow indicator variables. See the Programmer's Guide to the Oracle Precompilers for more information of EXEC IAF and EXEC TOOLS statements.

PCB-00601: an EXEC TOOLS host variable context name is not type char

Cause: If a host variable is used to define a context name in an EXEC TOOLS GET CONTEXT or EXEC TOOLS SET CONTEXT statement, that host variable must be of a character type.

Action: Declare the context name to a host variable of a char type.

PCB-00602: an EXEC TOOLS host pointer variable is not a pointer

Cause: The host variable specifying an EXEC TOOLS context must be of a pointer type.

Action: Declare the context host variable to be a pointer type.

PCB-00603: an EXEC TOOLS MESSAGE host variable is not type char

Cause: If a host variable is used to specify the message in an EXEC TOOLS MESSAGE statement, that host variable must be of a character type.

Action: Declare the message to a host variable of a char type.




Prev

Next
Oracle
Copyright © 1997 Oracle Corporation.
All Rights Reserved.

Library

Product

Contents