Skip Headers

Oracle9i Database Error Messages
Release 2 (9.2)

Part Number A96525-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to next page

45
Pro*C/C++ Messages (PCC)

For information about Pro*C/C++, refer to the Pro*C/C++ Precompiler Programmer's Guide.


PCC-00001 Unable to open file string

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.


PCC-00002 Invalid syntax at column number in line number of file string

Cause: There is a syntax error in an EXEC statement or the statement is not properly terminated.

Action: Correct the syntax of the EXEC statement. If the error occurred at the end of the input file, check that the last EXEC statement is properly terminated.


PCC-00003 Invalid SQL Identifier at column number in line number of file string

Cause: The symbol in a conditional precompilation statement (such as EXEC ORACLE IFDEF) is invalid, or the name of a SQL descriptor, statement, or cursor is invalid or was not properly declared.

Action: Check the statement syntax and spelling of the identifier and check that a reserved word was not accidentally used. If necessary, define the identifier in a variable declaration or DECLARE statement ahead of the line in error.


PCC-00004 Mismatched IF/ELSE/ENDIF block at line number in file string

Cause: There is an EXEC ORACLE ELSE or EXEC ORACLE ENDIF statement without a matching EXEC ORACLE IFDEF statement.

Action: Add the missing EXEC ORACLE IFDEF statement or delete or move the EXEC ORACLE ELSE or EXEC ORACLE ENDIF statement.


PCC-00005 Unsupported datatype in line number of file string

Cause: A host variable defined in the DECLARE section has an unsupported datatype or has a scale or precision outside the supported range.

Action: Redefine the host variable using a supported datatype. Check that the scale and precision of a numeric variable are in the accepted range.


PCC-00007 Invalid WHENEVER condition at column number in line number of file string

Cause: A condition other than SQLERROR, SQLWARNING, or NOT FOUND was specified in an EXEC SQL WHENEVER statement, or one of these was used, but spelled incorrectly.

Action: Correct the spelling of the WHENEVER condition or use a host- language IF statement to test the special condition.


PCC-00008 Invalid WHENEVER action at column number in line number of file string

Cause: At lease one of the following:

  • An action other than CONTINUE, DO, GOTO, or STOP was specified in an EXEC SQL WHENEVER statement.
  • One of the specified actions was spelled incorrectly.
  • The host language does not allow the action (STOP is illegal in Pro*Pascal programs).
  • A GOTO label is invalid.

Action: Check that the host language allows the specified WHENEVER action. If necessary, correct the spelling of the WHENEVER action or correct the GOTO label.


PCC-00009 Invalid host variable at column number in line number of file string

Cause: A host variable used in an EXEC SQL statement was not declared in the DECLARE section or has an unsupported datatype.

Action: Declare the host variable in the DECLARE section, making sure it has one of the supported datatypes.


PCC-00010 Statement out of place at line number in file string

Cause: An EXEC statement was not placed properly in the host program. For example, there might be a data manipulation statement in the DECLARE section. In a Pro*COBOL program, the DECLARE section might be outside the WORKING-STORAGE or LINKAGE SECTION.

Action: Remove or relocate the statement.


PCC-00011 Already in a declare section at line number in file string

Cause: A BEGIN DECLARE SECTION statement was found inside a DECLARE section.

Action: Remove the extra BEGIN DECLARE SECTION statement.


PCC-00012 Not in a declare section at line number in file string

Cause: An END DECLARE SECTION statement without a matching BEGIN DECLARE SECTION statement was found. Either the BEGIN DECLARE SECTION statement is missing or misspelled or the END DECLARE SECTION statement is an extra.

Action: Add or correct the BEGIN DECLARE SECTION statement or remove the extra END DECLARE SECTION statement.


PCC-00013 Unable to open include file "string" at line number in file string

Cause: The precompiler was unable to open the input file specified in the INCLUDE statement. Some possible causes follow:

  • The file name is misspelled.
  • The file does not exist.
  • The search path to the file is incorrect.
  • File access privileges are insufficient.
  • There is not enough disk space.
  • There are too many open files.

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


PCC-00014 Undeclared SQL Identifier "string" at line number in file string

Cause: The name of a descriptor, statement, or cursor was not declared or is misspelled.

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


PCC-00015 Unrecognized Host Language syntax ignored at line number in file string

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.


PCC-00016 Unable to open a cursor at line number in file string

Cause: The syntax in a SQL statement is faulty. The precompiler was expecting a host variable, but found something else.

Action: Check the syntax and the spelling, then correct the SQL statement.


PCC-00017 Unable to parse statement at line number in file string

Cause: There is a syntax error in an array declaration. The precompiler was expecting a right bracket (]) but found something else.

Action: Check the syntax, then correct the array declaration.


PCC-00018 Expected "string", but found "string" at line number in file string

Cause: The syntax in a SQL statement is faulty. The precompiler found an unexpected or illegal token.

Action: Check the syntax and the spelling, then correct the SQL statement.


PCC-00019 Unable to obtain bind variables at line number in file string

Cause: The precompiler was unable to find information about an input host variable (bind variable) used in a SQL statement.

Action: Check that the input host variable is declared in the DECLARE section and used properly in the SQL statement.


PCC-00020 Unable to obtain define variables at line number in file string

Cause: The precompiler was unable to find information about an output host variable (define variable) used in a SQL statement.

Action: Check that the output host variable is declared in the DECLARE section and used properly in the SQL statement.


PCC-00021 Oracle Error: string

Cause: An Oracle error occurred.

Action: Refer to the indicated message in the ORA message chapters of this manual.


PCC-00022 Out of space - unable to allocate number bytes

Cause: The precompiler process ran out of memory.

Action: Allocate more memory to the process, then retry.


PCC-00023 Unable to log off from ORACLE

Cause: An Oracle connection error occurred while the precompiler was trying to log off, probably because Oracle has been shut down.

Action: Check that Oracle is available, then retry.


PCC-00024 Indicator variable "string" has wrong type or length at line number in file string

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.


PCC-00025 Undeclared indicator variable "string" at line number in file string

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.


PCC-00026 Invalid host variable "string" at line number in file string

Cause: A host variable used in a SQL statement was not declared properly. Some possible causes follow:

  • It was not declared in the DECLARE section.
  • Its datatype is not supported.
  • Its name is misspelled.
  • It is a COBOL group item; in Pro*COBOL, only elementary items are allowed in a SQL statement.

Action: Add or correct the host variable declaration.


PCC-00027 Redeclared SQL Identifier "string" at line number in file string

Cause: The name of a SQL descriptor, statement, or cursor was re-declared (that is, declared twice).

Action: Check the spelling of the identifier, then, if necessary, remove the extra declaration.


PCC-00028 Option "string" not legal as EXEC ORACLE OPTION

Cause: A precompiler option was specified inline in an EXEC ORACLE statement. Some options can be specified only on the command line. For example, INAME cannot be specified inline.

Action: Respecify the precompiler option on the command line, instead of in an EXEC ORACLE statement. To see an online display of the precompiler options, enter the precompiler command (with no options) at the operating-system prompt.


PCC-00029 Ambiguous option "string"

Cause: The name of a precompiler option was abbreviated ambiguously. For example, MAX= might refer to MAXLITERAL or MAXOPENCURSORS.

Action: Respecify the full option name or an unambiguous abbreviation. To see an online display of the precompiler options, enter the precompiler command (with no options) at the operating-system prompt.


PCC-00031 Invalid value given for option "string"

Cause: The value specified for a precompiler option is invalid, probably because the value is misspelled (as in LTYPE=HORT) or out of range (as in PAGELEN=-55).

Action: Check the value, making sure it is spelled correctly and within the legal range.


PCC-00032 Invalid option "string"

Cause: The precompiler found an invalid precompiler option name. Some possible causes follow:

  • The option name is misspelled.
  • The specified option does not exist.
  • The equal sign (=) between the option name and value is missing or has space around it.

Action: Check that the option exists and that its name is spelled correctly. To see an online display of the precompiler options, enter the precompiler command (with no options) at the operating- system prompt. Also check that there is an equal sign between the option name and value.


PCC-00033 Missing operand for option "string"

Cause: No value was specified for a precompiler option. Either the value is missing or there is space around the equal sign (as in LTYPE =SHORT).

Action: Check that a value for each option has been specified and there is no space around the equal sign.


PCC-00036 No input file name specified

Cause: The input file was not specified on the command line.

Action: Use the INAME command-line option to specify the input file.


PCC-00037 Unable to log on to ORACLE with "string". ORACLE error number: number

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: Refer to the indicated message in the ORA message chapters of this manual.


PCC-00038 Unable to open a cursor

Cause: This is an internal error message not usually issued.

Action: Call Oracle Support Services for assistance. If the application does not require syntactic or semantic checking of SQL statements and does not use PL/SQL, specify SQLCHECK=NONE on the command line.


PCC-00039 Unable to open input file "string"

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

  • The file name is misspelled.
  • The file does not exist.
  • The search path to the file is incorrect.
  • File access privileges are insufficient.
  • Another user has locked the file.
  • There is not enough disk space.
  • There are too many open files.

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. Check with the system administrator to make sure that there is enough disk space and that the limit for open files is set high enough.


PCC-00040 Unable to open listing file "string"

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

  • The file name is misspelled.
  • The file does not exist.
  • The search path to the file is incorrect.
  • File access privileges are insufficient.
  • Another user has locked the file.
  • There is not enough disk space.
  • There are too many open files.

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.


PCC-00041 Unable to open output file "string"

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

  • The file name is misspelled.
  • The file does not exist.
  • The search path to the file is incorrect.
  • File access privileges are insufficient.
  • Another user has locked the file.
  • There is not enough disk space.
  • There are too many open files.

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. Check with the system administrator to make sure that there is enough disk space and that the limit for open files is set high enough.


PCC-00042 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.


PCC-00044 Array size mismatch in INTO/USING. Minimum is: string(number:number)

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

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


PCC-00045 string clause inappropriate at line number in file string. Ignored.

Cause: There is a misplaced clause at the end of an EXEC SQL statement (an AT clause at the end of a SELECT statement, for example), or the action specified in a FOR clause is invalid (for example, FOR :loop INTO...).

Action: Check the statement syntax, then relocate or correct the misplaced or invalid clause.


PCC-00047 Unterminated comment/string constant beginning near line number in file string

Cause: A string constant is missing an ending quotation mark, or a comment is missing an ending delimiter.

Action: Check that all comments are delimited and all string constants are enclosed by quotation marks.


PCC-00050 Unable to generate descriptor in program unit ending line number in file string

Cause: The precompiler was unable to generate a descriptor for the compilation unit. This can occur from either of the following:

  • A non-existent or improperly implemented DECLARE section
  • Undetected syntax errors near the beginning of the source file or just before the END DECLARE SECTION statement

Action: Verify that the DECLARE section is properly implemented. Then check for syntax errors at the beginning of the compilation unit and before any END DECLARE SECTION statement, and correct as appropriate.


PCC-00051 Size of VARCHAR string is larger than 65533 in line number in file string

Cause: The declared size of a VARCHAR host variable exceeds the precompiler limit of 65533 bytes.

Action: Check the DECLARE section, making sure the size of each VARCHAR variable does not exceed the limit of 65533 bytes.


PCC-00053 FOR variable string is invalid type at line number in file string

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


PCC-00054 Expected End-of-Statement at column number in line number of file string

Cause: The precompiler expected to find a statement terminator at the end of an EXEC statement but found something else. This can happen if tabs were embedded in the source code (because the precompiler has no way of knowing how many spaces a tab represents).

Action: If tabs are embedded in the source code, replace them with spaces. Check the statement syntax and check that each EXEC statement has a terminator. For embedded CREATE {FUNCTION | PROCEDURE | PACKAGE} statements and for embedded PL/SQL blocks, check that the statement terminator is END-EXEC.


PCC-00055 Array "string" not allowed as bind variable at line number in file string

Cause: A host array was used as a bind (input) variable in the WHERE clause of a SELECT statement. This is not allowed.

Action: Remove the host array or replace it with a simple host variable.


PCC-00056 FOR clause not allowed on SELECT statement at line number in file string.

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.


PCC-00060 Both CURSOR and STATEMENT have AT clauses at line number of file string.

Cause: Two AT clauses, one in a DECLARE STATEMENT statement, the other in a DECLARE CURSOR statement, pertain to the same SQL statement. The AT clause may be specified with either DECLARE STATEMENT or DECLARE CURSOR, but not with both.

Action: Remove the AT clause from one of the statements.


PCC-00061 Error at line number, column number. PLS-number: string

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.


PCC-00062 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.


PCC-00063 Reached end of file string before End-of-Statement at line number!

Cause: The precompiler encountered an end-of-file while parsing a PL/SQL block.

Action: Add the appropriate statement terminator (;) or end-of-block statement (END;) to the PL/SQL block.


PCC-00064 All uses of a given host variable must use identical indicator variables.

Cause: Two or more occurrences of a host variable in an EXEC SQL statement were associated with different indicator variables. This is not allowed.

Action: Rename the indicator variables so that each occurrence of the host variable is associated with the same indicator variable.


PCC-00065 Userid required, but not specified.

Cause: The SQLCHECK=SEMANTICS option was specified, but the USERID option on the command line was not specified.

Action: Specify USERID=username/password or enter a username and password when prompted or specify SQLCHECK={SYNTAX | NONE}.


PCC-00066 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.


PCC-00067 Ireclen exceeded. Line number in file string truncated.

Cause: While reading the input file, the precompiler found a line longer than IRECLEN.

Action: Either shorten the input line or specify a larger IRECLEN value on the command line.


PCC-00068 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.


PCC-00069 Host variable "string" has unsupported datatype at line number in file string

Cause: A host variable had an unsupported datatype. For a list of supported datatypes, see the language-specific Precompiler Programmer's Guide.

Action: Redefine the host variable in the DECLARE section, giving it a supported datatype.


PCC-00070 Illegal syntax, Exponential value in SQL statement: string

Cause: The precompiler found a syntax error while parsing a number coded in scientific notation. The precompiler expected to find a signed integer following the exponentiation indicator (E), but found something else.

Action: Reformat the number correctly.


PCC-00071 Unable to open message file.

Cause: The precompiler was unable to open the message file containing the messages that can be issued by the precompiler. This can happen if there are too many open files or if there were problems with installation of the precompiler.

Action: Check that the limit for open files is high enough (check with the system manager). Otherwise, contact Oracle Support Services.


PCC-00072 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.


PCC-00073 Cursor is declared but never OPENed at line number in file string.

Cause: A cursor was DECLAREd but was not referenced in an OPEN statement. This is only an informational message.

Action: Remove the cursor declaration or code an OPEN statement for the cursor.


PCC-00075 ":" expected before indicator variable

Cause: An indicator variable was not prefixed with a colon, as required.

Action: Prefix a colon to the indicator variable in question.


PCC-00076 DISPLAY type must be SIGN LEADING SEPARATE

Cause: This message is issued only by Pro*COBOL. DISPLAY SIGN LEADING SEPARATE is the only DISPLAY type supported by Pro*COBOL.

Action: Check the spelling of the variable declaration. If necessary, remove the reference to the unsupported DISPLAY type.


PCC-00077 Colon usage with numeric label in WHENEVER statement is not ANSI

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a numeric WHENEVER ... GOTO label was prefixed with a colon. For example the code might have looked like:

EXEC SQL WHENEVER SQLERROR GOTO :99; 

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

Action: No action required. However, for ANSI/ISO compliance, prefix alphanumeric (but not numeric) WHENEVER ... GOTO labels with a colon.


PCC-00078 FIPS warning: Invalid ANSI SQL Identifier

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the name given to a host variable:

  • is longer than 18 characters,
  • does not begin with a letter, or
  • contains consecutive or trailing underscores

In the following Pro*C example, the host variable name is 19 characters long and therefore non-compliant:

EXEC SQL BEGIN DECLARE SECTION;
int department_location:  -- not ANSI/ISO compliant
EXEC SQL END DECLARE SECTION;

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

Action: No action required. However, for ANSI/ISO compliance, change the host variable name so that it is less than or equal to 18 characters long, begins with a letter, and does not contain consecutive or trailing underscores.


PCC-00079 ANSI requires colon on label in WHENEVER statement

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, an alphanumeric WHENEVER ... GOTO label was not prefixed with a colon. For example the offending code might look like:

EXEC SQL WHENEVER NOT FOUND GOTO NO_MORE;

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

Action: No action required. However, for ANSI/ISO compliance, prefix alphanumeric (but not numeric) WHENEVER ... GOTO labels with a colon.


PCC-00080 TYPE identifier already TYPEd

Cause: The identifier being TYPEd in an EXEC SQL TYPE statement appeared in a previous EXEC SQL TYPE statement. A given identifier can appear in only one EXEC SQL TYPE statement.

Action: Check the spelling of the identifiers. Use different identifiers in the EXEC SQL TYPE statements, or remove one of the EXEC SQL TYPE statements.


PCC-00081 Scale specification not allowed for given datatype

Cause: The Oracle external datatype referenced in an EXEC SQL VAR or EXEC SQL TYPE statement does no allow a scale specification.

Action: Check the precision specification and remove the scale specification.


PCC-00082 Length and scale specifications must be an integer

Cause: A floating point number or a non-number to specify a length or scale was used. Only integers can be used.

Action: Correct or remove the length and/or scale specification.


PCC-00083 Bind and define variables not allowed in CREATE statement

Cause: Host variables cannot appear in a CREATE statement. If the makeup of a CREATE statement cannot be known until run time, a dynamic SQL statement must be used to execute it. That is, the program must accept or build the CREATE statement at run time, store it in a host string, then EXECUTE it.

Action: Correct or remove the erroneous CREATE statement.


PCC-00085 Error writing to file string

Cause: The precompiler was unable to write to the named output file. Some possible causes follow:

  • Sufficient file access privileges were not defined.
  • Another user has locked the file.
  • There is not enough disk space.
  • There are too many open files.

Action: Check that sufficient privileges exist to access the file and that it is not locked by another user. Check with the system administrator to make sure that there is enough disk space and that the limit for open files is set high enough.


PCC-00086 Source file string has zero length

Cause: The source file specified on the command line contains no code. Consequently, there is nothing for the precompiler to process.

Action: Specify a valid source file containing embedded SQL statements.


PCC-00087 EXEC SQL TYPE statement not allowed for this host language

Cause: An EXEC SQL TYPE statement was used with a host language that does not support user-defined datatype equivalencing. This feature is available only in Pro*C and Pro*Pascal.

Action: Remove the offending EXEC SQL TYPE statement.


PCC-00088 User defined type identifier expected

Cause: The user-defined datatype name in an EXEC SQL TYPE statement is missing or misspelled, is a reserved word, is not a legal identifier in the host-language or conflicts with a base datatype in that language.

Action: Check the spelling of the user-defined datatype name. If necessary, declare a valid user-defined datatype. User-defined datatype equivalencing is available only in Pro*C and Pro*Pascal.


PCC-00089 Invalid Oracle TYPE specification

Cause: The Oracle external datatype name in an EXE SQL TYPE or EXEC SQL VAR statement is missing or misspelled.

Action: Check the spelling of the external datatype name. If necessary, supply the missing datatype name.


PCC-00090 Precision/scale specification must be given for DECIMAL datatype

Cause: A precision and/or scale specification for the Oracle external datatype DECIMAL in an EXEC SQL TYPE or EXEC SQL VAR statement was omitted.

Action: Add the precision and/or scale specification to the EXEC SQL TYPE or EXEC SQL VAR statement.


PCC-00091 TYPE statement requires format specification for this Oracle datatype

Cause: A length, precision, and/or scale specification for an Oracle external datatype in an EXEC SQL TYPE or EXEC SQL VAR statement was omitted.

Action: Add the length, precision, and/or scale specification for the external datatype to the EXEC SQL TYPE or EXEC SQL VAR statement.


PCC-00092 Length and/or scale incompatible with specified Oracle datatype

Cause: An invalid length or scale for an Oracle external datatype in an EXEC SQL TYPE or EXEC SQL VAR statement was specified.

Action: Check that a length large enough to accommodate the external datatype is specified. If a scale is specified, check that it lies in the range -84 to 99.


PCC-00093 Invalid or obsolete option, ignored

Cause: The precompiler found an option available in a prior version or different host language but not in the current version or host language.

Action: Remove the option specification.


PCC-00094 Array length for char[n] datatype must be >= 2

Cause: When MODE={ANSI | ANSI14}, a length of less than 2 characters for a char[n] host variable was specified or a simple char variable was specified. When MODE={ANSI | ANSI14}, the length must be at least 2 characters. This message is issued only by the Pro*C precompiler.

Action: Correct the declaration so that it specifies a length of at least 2 characters.


PCC-00095 Missing PROGRAM, SUBROUTINE, FUNCTION, or BLOCK DATA statement

Cause: FORTRAN source files are expected to have at least one PROGRAM, SUBROUTINE, FUNCTION, or BLOCK DATA statement, which the precompiler uses to detect the beginning of a routine or compilation unit.

Action: Add one of these statements to the source file.


PCC-00096 Array FETCH not allowed for mode=ANSI14

Cause: When MODE=ANSI14, an array SELECT or FETCH was attempted. However, array operations are not allowed with MODE=ANSI14.

Action: If MODE=ANSI14 must be specified, place the SELECT or FETCH statement in a host-language loop, instead of using the array interface.


PCC-00097 Use of DECIMAL and DISPLAY types allowed only for COBOL and PL/I

Cause: The DECIMAL and DISPLAY external datatype was used in an EXEC SQL VAR or EXEC SQL TYPE statement with an Oracle precompiler other than Pro*COBOL or PRO*PL/I. These external datatypes are available only in Pro*COBOL and PRO*PL/I.

Action: Remove the reference to the DECIMAL or DISPLAY external datatype from the EXEC SQL TYPE or EXEC SQL VAR statement.


PCC-00098 Scale specification cannot be used in this context

Cause: In a Pro*C, Pro*FORTRAN, Pro*Pascal program, scale in an EXEC SQL TYPE or EXEC SQL VAR statement in the current context cannot be specified.

Action: Remove the scale specification from the EXEC SQL TYPE or EXEC SQL VAR statement.


PCC-00099 Length cannot be given for types ROWID, DATE, or MLSLABEL

Cause: A length for the ROWID, DATE, or MLSLABEL external datatype was specified in an EXEC SQL TYPE or EXEC SQL VAR statement. This is unnecessary because those are fixed length types.

Action: Remove the length specification from the EXEC SQL TYPE or EXEC SQL VAR statement.


PCC-00100 Non integer label is not ANSI

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a non-integer WHENEVER ... GOTO label was in a Pro*Pascal program. For example, the offending code might look like:

EXEC SQL WHENEVER NOT FOUND GOTO quit; 

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

Action: No action required. However, for ANSI/ISO compliance, use only integer WHENEVER... GOTO labels in a Pro*Pascal program.


PCC-00101 Lower case 'e' in floating point number is not ANSI

Cause: A Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a lowercase 'e' was used in scientific notation. For example, the offending code might look like:

maxnum = 10e38;

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

Action: No action required. However, for ANSI/ISO compliance, use an uppercase 'E' in scientific notation.


PCC-00102 FOR UPDATE is an Oracle extension

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, the FOR UPDATE OF clause was used in a cursor declaration. For example, the offending code might look like:

EXEC SQL DECLARE emp_cursor CURSOR FOR SELECT ENAME, SAL FROM EMP WHERE 
DEPTNO = :dept_number FOR UPDATE OF SAL; 

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 UPDATE OF clause.


PCC-00103 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; 

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.


PCC-00104 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);

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.


PCC-00105 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; 

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.


PCC-00106 RELEASE is an Oracle extension to the COMMIT and ROLLBACK statements

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

EXEC SQL ROLLBACK RELEASE; 

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 parameter RELEASE;


PCC-00107 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; 

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.


PCC-00108 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 :sql_string; 

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.


PCC-00109 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.


PCC-00110 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; 

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.


PCC-00111 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.

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


PCC-00112 Datatype not supported by ANSI

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;
VAECHAR username[20];
EXEC SQL END DECLARE SECTION;

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

Action: No action required. However, for ANSI/ISO compliance, do not use pointers or nonconforming datatypes.


PCC-00113 Value of DBMS option invalid with given value of MODE option

Cause: When MODE={ANSI14 | ANSI13}, DBMS=V7 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, 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.


PCC-00114 Length spec required in EXEC SQL VAR statements for VARxxx types

Cause: In an EXEC SQL VAR statement, a VARCHAR or VARRAW external datatype was specified without a length. Unlike other types, the maximum length of the data field must be specified for VARCHAR and VARRAW.

Action: Add a length specification to the EXEC SQL VAR statement.


PCC-00115 Array required here

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

EXEC SQL ARRAYLEN host_array (dimension);

The ARRAYLEN statement must appear in the DECLARE section along with, but somewhere after, the declarations of host_array and dimension.

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


PCC-00116 This array already given in an ARRAYLEN statement

Cause: The same host array was specified in two different ARRAYLEN statements. A given host array cannot be specified in more than one ARRAYLEN statement.

Action: Check the spelling of the host array names in both ARRAYLEN statements. Change one of the names so that they refer to different host arrays or remove one of the ARRAYLEN statements.


PCC-00117 Invalid ARRAYLEN length variable type

Cause: A valid array dimension was not specified in an ARRAYLEN statement. The array 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);  -- illegal dimension

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


PCC-00118 Use of host variable initialization not supported by ANSI SQL

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a host variable was initialized in its declaration, as shown in the following Pro*C example:

EXEC SQL BEGIN DECLARE SECTION;
int dept_number = 20;  -- not ANSI/ISO-compliant
EXEC SQL END DECLARE SECTION;

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

Action: No action required. However, for ANSI/ISO compliance, do not initialize host variables in their declarations.


PCC-00119 Value of const variable in INTO clause will be modified

Cause: A variable declared with the type specifier "const" was used in an INTO clause. Such variables should not be modified and should not be used in an INTO clause.

Action: Check the spelling of all identifiers in the INTO clause. If necessary, remove "const" from the host variable declaration or use a different host variable.


PCC-00120 File I/O error during code generation

Cause: A file I/O error occurred during code generation. This may be caused by insufficient disk space.

Action: Check that there is enough disk space.


PCC-00121 Arrays of VARCHAR pointers are not supported

Cause: An array of pointers was declared, which is not allowed. However, pointers to scalar types are allowed. With Pro*C, declare pointers to char[n] and varchar[n] variables as pointers to CHAR or VARCHAR (with no length specification).

Action: Correct or remove the declaration.


PCC-00122 Input file name and output file name are identical

Cause: On the command line, the same path name for INAME and ONAME was specified, which designates the precompiler input and output files, respectively.

Action: Change one of the path/file names.


PCC-00123 Entire VARCHAR declaration must be on same line

Cause: In a Pro*C program, a VARCHAR declaration spans more than one line, which is not allowed.

Action: Revise the declaration so that it uses only one line.


PCC-00124 COMMON_NAME option is specified too late

Cause: In a FORTRAN program, subroutine, or function, the precompiler option COMMON_NAME was mistakenly specified after the PROGRAM, SUBROUTINE, or FUNCTION statement. If COMMON_NAME is specified inline, its EXEC ORACLE OPTION statement must precede the PROGRAM SUBROUTINE, or FUNCTION statement.

Action: Relocate the EXEC ORACLE OPTION statement or specify COMMON_NAME on the command line.


PCC-00126 Could not find or open system configuration file

Cause: The precompiler was unable to find or open the system configuration file (a text file containing preset command-line options, which the precompiler uses by default). Some possible causes follow:

  • The file does not exist.
  • The search path to the file is incorrect.
  • File access privileges are insufficient.
  • There are too many open files.

However, this message is just a warning. Processing continues even if the system configuration file does not exist.

Action: Check that the file exists, that the search path to the file is correct, and that sufficient privileges exist to access the file. Also check that the limit for open files is set high enough (check with the system manager).


PCC-00127 string

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

Action: Correct the indicated error.


PCC-00128 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 Oracle Support Services with a full account of all the options and configuration files used.


PCC-00129 Option "string" must be given

Cause: A required command-line option is missing. For example, the INAME option, which specifies the name of the input file, might be missing.

Action: Supply the missing command-line option.


PCC-00132 Indicator array size must not be less than its host variable

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

EXEC SQL BEGIN DECLARE SECTION; 
int   dept_no[20]; 
short dept_no_ind[10]; 
EXEC SQL END DECLARE SECTION; 
... SELECT ... INTO dept_no:dept_no_ind ...

Action: Increase the size of the indicator array.


PCC-00133 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.


PCC-00135 Result Set Cursor usage is not standard SQL

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, an Oracle Result Set Cursor has been used. This informational message is issued by the FIPS Flagger when FIPS=YES.

Action: No action required. However, for ANSI/ISO compliance, do not use Result Set Cursors.


PCC-00136 Invalid SQL_CURSOR declaration

Cause: An array of SQL_CURSOR host variables was declared or, if Pro*COBOL, a PICTURE clause was specified in the SQL-CURSOR declaration. In Pro*FORTRAN, a length specification (that is, "*n") on the SQL_CURSOR declaration could have been specified. These usages are not supported.

Action: Check that the SQL_CURSOR variable is not declared as an array or, if Pro*COBOL, that no PICTURE clause is specified for the SQL_CURSOR. In Pro*FORTRAN, check that there is no length specification (that is, "*n") for the SQL_CURSOR.


PCC-00137 Invalid use of SQL cursor host variable

Cause: A SQL_CURSOR variable was used in an INTO or WHERE clause. SQL_CURSOR variables can be used only where ordinary cursor identifiers would be used or, in a PL/SQL block, where a cursor would normally be used.

Action: Remove the SQL cursor variable reference from the INTO clause or WHERE clause, or use a host variable of another type in the INTO or WHERE clause.


PCC-00138 Result Set Cursors are not implemented in this precompiler

Cause: There was an attempt to reference a host variable as a cursor reference. Cursor variables are not implemented in PRO*Pascal or Pro*PL/I.

Action: Rewrite your host-language code to use standard SQL cursors.


PCC-00139 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.


PCC-00140 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:

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE PACKAGE
  • CREATE TRIGGER

These statements are Oracle extensions to the ANSI/ISO SQL standards. 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.


PCC-00141 Thread Safety is not implemented in this precompiler

Cause: There has been an attempt to use CONTEXT SQL statements. The thread safety feature is not implemented in PRO*Pascal, Pro*PL/I, or Pro*C 1.x.

Action: Rewrite your host-language code to not use contexts.


PCC-00142 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.


PCC-00143 Runtime context variable 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.


PCC-00144 UNSAFE_NULL=YES must be used with DBMS=V7 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: Either specify DBMS=V7 and MODE=ORACLE (the default) when using UNSAFE_NULL=YES or do not use UNSAFE_NULL=YES.


PCC-00145 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 SQL ENABLE THREADS or EXEC SQL CONTEXT statement from the source code.


PCC-00146 Illegal value for host option, ignored

Cause: An invalid host language was specified using the command-line host option. The host option valid values are Pro* language-specific. For example, for PROFOR, the only valid value is FORTRAN. For PROCOB, the only valid values are COBOL and COB74.

Action: Specify a valid host language with the host option.


PCC-00147 DBMS=V6 no longer supported; using DBMS=NATIVE

Cause: V6 compatibility is no longer supported. The precompiler will precompile as though DBMS=NATIVE was specified.

Action: Revise the specified DBMS option value from v6 to another value as desired.


PCC-01000 You are not authorized to run Pro*COBOL

Cause: The authorization or license to run the Pro*COBOL Precompiler has expired.

Action: Call Oracle Support Services for assistance.


PCC-01001 Your Pro*COBOL authorization is about to expire

Cause: The authorization or license to run the Pro*COBOL Precompiler is about to expire.

Action: Call Oracle Support Services for assistance.


PCC-01002 Invalid character "character" in indicator area at line number in file string

Cause: In a Pro*COBOL Precompiler program, only a blank, hyphen (-), asterisk (*), slash (/), or letter "D" is allowed in the indicator area, but the precompiler found another character.

Action: Remove or replace the invalid character. If the FORMAT=ANSI option is specified, check for an end-of-line in column 7.


PCC-01003 Invalid continuation at line number in file string

Cause: In a PRO*COBOL program, a continuation line was completely blank, except for the continuation character.

Action: Remove or replace the empty continuation line.


PCC-01004 In an EXEC statement at end-of-file

Cause: In a Pro*COBOL input file, the last EXEC statement was not terminated properly.

Action: Terminate the last EXEC statement with an END-EXEC.


PCC-01005 PROCEDURE DIVISION not found

Cause: The precompiler could not find the PROCEDURE DIVISION header in a Pro*COBOL program. Some possible causes follow:

  • A keyword in the header is missing or misspelled.
  • There is an apostrophe in the REMARKS section (the precompiler mistook the apostrophe for the beginning of a string literal).
  • There is an unterminated literal in the WORKING-STORAGE SECTION.
  • The wrong value for the FORMAT option was specified.

Action: Check that the PROCEDURE DIVISION header is in place and spelled correctly, that there is no apostrophe in the REMARKS section, that all literals in the WORKING-STORAGE SECTION are terminated, and that the right value for the FORMAT option is specified.


PCC-01006 EXEC statement cannot begin in Area A at line number in file string

Cause: In a Pro*COBOL program, EXEC statements must begin in Area B, but the precompiler found a statement beginning in Area A.

Action: Move the statement rightward so that it begins in Area B.


PCC-01007 WORKING-STORAGE SECTION not found

Cause: The precompiler could not find the WORKING-STORAGE SECTION header in a Pro*COBOL program, probably because a keyword is missing or misspelled, or the wrong value for the FORMAT option might have been specified.

Action: Check that the WORKING-STORAGE SECTION header is in place and spelled correctly and that the right value for the FORMAT option is specified.


PCC-01008 Multiple element records not allowed in DECLARE section

Cause: A few COBOL compilers do not allow group items to be passed as parameters in a CALL statement. (Check the COBOL compiler user's guide.) If the compiler is one of these, group items within the DECLARE section can contain only one elementary item.

Action: Assign each host variable its own group item.


PCC-01009 For hostlan = COB74, a SQL statement must be followed by ELSE or "."

Cause: In a Pro*COBOL program, an EXEC SQL statement is followed by another statement in the same sentence. An EXEC SQL statement must be the last statement in a COBOL-74 sentence and so must be terminated by the keyword ELSE or a period.

Action: Change the program logic, making the EXEC SQL statement the last statement in the sentence.


PCC-01010 Invalid use of NULL character in character literal

Cause: A null character (binary zero) was found in a string literal. This is not allowed by Pro*COBOL.

Action: Remove the null character from the string literal.


PCC-01011 USAGE IS BINARY clause must be terminated by "." on same line

Cause: The period terminating the USAGE IS BINARY clause must be on the same line as the USAGE clause. This message only occurs on systems that support the COMP5=YES command line option of Pro*COBOL, where COMP-5 is substituted for BINARY.

Action: Check that the period terminating the USAGE IS BINARY clause is on the same line as the USAGE clause.


PCC-01012 DATA DIVISION not found

Cause: The Pro*COBOL precompiler did not find a DATA DIVISION in the input source file. Pro*COBOL applications are required to have a DATA DIVISION.

Action: Add a DATA DIVISION to the input source file.


PCC-01013 Invalid use of PIC N array variable "string" at line number in file string

Cause: A PIC N variable was declared using an OCCURS clause. Tables of PIC N variables are not supported by the Pro*COBOL precompiler.

Action: Declare the PIC N variable without an OCCURS clause or, if the PIC N variable is not used in any SQL statements, declare it outside the DECLARE section.


PCC-01014 "VARYING" not supported with PIC N PICTURE clause

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.


PCC-01015 Cannot equivalence PIC N variable string

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.


PCC-01016 "N" character literals not supported in embedded PL/SQL

Cause: An "N" character literal was used within a PL/SQL block

Action: Remove the "N" character literal from the PL/SQL block.


PCC-01017 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.


PCC-01018 Conversion buffer size can only be specified for character types

Cause: A CONVBUFSZ clause has been used in an EXEC SQL VAR statement where the variable is not of a character datatype.

Action: Remove the CONVBUFSZ clause from the EXEC SQL VAR statement.


PCC-01019 Invalid conversion buffer size

Cause: The size specified in a CONVBUFSZ clause must be an integer in the range 1 to 32765. Either the size given is not an integer or is outside the required range.

Action: Specify an integer in the range 1 to 32765.


PCC-01100 You are not authorized to run Pro*FORTRAN

Cause: The authorization or license to run the Pro*FORTRAN Precompiler has expired.

Action: Call Oracle Support Services for assistance.


PCC-01101 Your Pro*FORTRAN authorization is about to expire

Cause: The authorization or license to run the Pro*FORTRAN Precompiler is about to expire.

Action: Call Oracle Support Services for assistance.


PCC-01102 Invalid label at line number in file string

Cause: The Pro*FORTRAN Precompiler found an invalid FORTRAN statement label in columns 1 through 6.

Action: Correct or remove the statement label.


PCC-01200 You are not authorized to run Pro*C

Cause: The authorization or license to run the Pro*C Precompiler has expired.

Action: Call Oracle Support Services for assistance.


PCC-01201 Your Pro*C authorization is about to expire

Cause: The authorization or license to run the Pro*C Precompiler is about to expire.

Action: Call Oracle Support Services for assistance.


PCC-01202 Identifier "string" truncated to 31 characters

Cause: A host identifier (the name of a host variable, for example) was truncated to the maximum length (31 characters) allowed by the precompiler. This is an informational message.

Action: No action required.


PCC-01300 You are not authorized to run Pro*PL/I

Cause: The authorization or license to run the Pro*PL/I Precompiler has expired.

Action: Call Oracle Support Services for assistance.


PCC-01301 Your Pro*PL/I authorization is about to expire

Cause: The authorization or license to run the Pro*PL/I Precompiler is about to expire.

Action: Call Oracle Support Services for assistance.


PCC-01400 You are not authorized to run Pro*Pascal

Cause: The authorization or license to run the Pro*Pascal Precompiler has expired.

Action: Call Oracle Support Services for assistance.


PCC-01401 Your Pro*Pascal authorization is about to expire

Cause: The authorization or license to run the Pro*Pascal Precompiler is about to expire.

Action: Call Oracle Support Services for assistance.


PCC-01500 You are not authorized to run Pro*Ada

Cause: The authorization or license to run the Pro*Ada Precompiler has expired.

Action: Call Oracle Support Services for assistance.


PCC-01501 Your Pro*Ada authorization is about to expire

Cause: The authorization or license to run the Pro*Ada Precompiler is about to expire.

Action: Call Oracle Support Services for assistance.


PCC-01510 No Package, Procedure or Function statement seen in string

Cause: Every Ada source file must have a package, procedure, or function statement. The precompiler did not find one.

Action: Add the appropriate statement(s) to the source file and rerun Pro*Ada.


PCC-01511 Identifier on line number in file string too long for code generated in file string

Cause: An identifier used in the host program is of a length that causes precompiler-generated code to exceed the length limitation on source lines.

Action: Use a shorter identifier or use the ORECLEN option to increase the allowed line length.


PCC-01512 Invalid EXEC SQL INCLUDE of file string found at line number in file string

Cause: The EXEC SQL INCLUDE statement is not allowed in Pro*Ada.

Action: Embed required source text directly in the Pro*Ada file. Use the "with" context clause to include required packages.


PCC-01513 FIPS warning: Unsupported datatype in line number of file string

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a host variable was declared with a non-ANSI/ISO standard type.

Action: No action required. However, for ANSI/ISO compliance, use only ANSI/ISO standard types.


PCC-01515 FIPS warning: Undeclared host variable "string" at line number in file string

Cause: An Oracle extension to the ANSI/ISO SQL standard was used. Specifically, a host variable was declared outside of a DECLARE section.

Action: No action required. However, for ANSI/ISO compliance, declare the host variable within a DECLARE section.


PCC-02010 found end-of-file while scanning string literal

Cause: A string in a SQL statement, which should be delimited by single quotation marks, was not terminated properly.

Action: Check that all strings are delimited.


PCC-02011 found identifier greater than 128 characters (truncated)

Cause: The precompiler found an identifier that was too long.

Action: Shorten the identifier. SQL identifiers should be limited to 128 characters.


PCC-02012 did not find matching quote for char constant

Cause: A character constant with a single quotation mark was not terminated.

Action: Terminate the character constant.


PCC-02013 unknown escape sequence

Cause: The precompiler found an escape sequence that it could not process inside a string literal. This error can arise when multibyte character strings that can contain shift-in or shift-out escape sequences are used.

Action: Correct the string representation.


PCC-02014 Syntax error at line number, column number, file string:

Cause: The precompiler detected an error in C or embedded SQL syntax. This message is followed by a more specific error message.

Action: Correct the syntax error.


PCC-02015 unable to open include file

Cause: The precompiler could not open a header file that was specified using the #include preprocessor directive or the EXEC SQL INCLUDE statement. This can happen if the file specification is inaccurate or if read permission or read access rights on the file or on one or more of the directories in the path were not granted.

Action: Make sure the file specification is correct, that the file exists, and that read permission has been granted so that the file can be read.


PCC-02016 include file pathname is too long

Cause: The path name for include files exceeded the maximum length of 80 characters.

Action: Move the include file, or create an environment variable or logical to shorten the path name.


PCC-02017 unable to open output file

Cause: The precompiler could not open an output file. This could be a generated code output file (.c file) or a listing file. This message can result from many causes. For example:

  • A path name for a specified output file contains a non-existent directory.
  • An operating-system error occurred because the file system or disk is full.
  • Write permission on the specified directory or directories in the path do not exist.

Action: Track down the cause of the error, as suggested above, and correct it.


PCC-02018 found end-of-file while scanning comment

Cause: A C comment either in C code or in an embedded SQL statement, was not terminated.

Action: Find the unterminated comment and terminate it with */.


PCC-02019 Preprocessor warning at line number, column number, file string:

Cause: A warning condition occurred as the precompiler was doing the preprocessor pass. A more specific warning message will follow this message.

Action: Correct the condition according to the action specified for the message that follows.


PCC-02020 Preprocessor error at line number, column number, file string:

Cause: An error condition occurred as the precompiler was in the preprocessing phase. A more specific error message will follow this message.

Action: Correct the error according to the action specified for the message that follows.


PCC-02021 Found newline while scanning string literal

Cause: A string constant contains a newline character, For example:

char x[] = "Hello world";

Action: Remove the newline character.


PCC-02022 Found end of file while scanning a SQL statement

Cause: The precompiler encountered an end of file while parsing an EXEC SQL statement.

Action: Add statement terminator(;) or complete the EXEC SQL statement.


PCC-02023 Found end of file while scanning a PL/SQL statement

Cause: The precompiler encountered an end of file while parsing a PL/SQL statement (EXEC SQL EXECUTE ...).

Action: Complete the PL/SQL statement.


PCC-02035 CMD-LINE: CONFIG= option is invalid in a config file

Cause: A user configuration file inside a user configuration file cannot be specified. That is, nested configuration files cannot be nested.

Action: If there are nested configuration files, move the options from the nested files to the top levels.


PCC-02040 CMD-LINE: Option selected, but no value provided

Cause: An option on the command line was specified, but a value for it was not included. For example, the offending code might look like:

proc iname=sample1.pc oname=

Action: Provide a value for the option.


PCC-02041 CMD-LINE: Option does not exist:

Cause: A non-existent option was specified on the command line.

Action: Refer to your language-specific Precompiler Programmer's Guide for a list of the valid command line options and their possible values.


PCC-02043 CMD-LINE: Option syntax is incorrect

Cause: A value for a command line option was incorrectly specified.

Action: Refer to your language-specific Precompiler Programmer's Guide for the correct syntax for specifying command line option values.


PCC-02044 CMD-LINE: Illegal or out of range value for option:

Cause: A value specified for a command line option was not within the accepted range. For example, the range for the MAXOPENCURSORS option is 5 to 256. If a value outside the range is specified, the message is triggered.

Action: Refer to your language-specific Precompiler Programmer's Guide for the ranges that option values can take.


PCC-02045 CMD-LINE: Option is not unique:

Cause: An option name was partially specified on the command line that made it non unique. For example, in:

% proc in=t.pc 

the "in" option can imply either the INAME or INCLUDE option.

Action: Provide sufficient characters on the command line to make the option name unique.


PCC-02046 CMD-LINE: Unable to open config file:

Cause: A non-existent user configuration file was specified on the command line with the configuration option.

Action: Provide a valid filename for the configuration file.


PCC-02047 CMD-LINE: Option is not allowed inline:

Cause: An option was entered inline that can only be entered on the command line or in a configuration file. For example, the offending code might look like:

EXEC ORACLE OPTION (NLS_CHAR=name); 

The NLS_CHAR option can only be entered on the command line or in a configuration file.

Action: Remove the option from the source file, and specify it on the command line.


PCC-02066 CMD-LINE: Could not find or could not open system config file

Cause: The system configuration file has a standard name (PMSCFG.H) and a location that is operating system-dependent. On UNIX systems, it is located in the ORACLE_HOME/proc directory. If a file named PMSCFG.H is not found in the standard location, this warning message is issued.

Action: Create a system configuration file in the standard location. The file can be empty. See also the operating system-specific Oracle documentation.


PCC-02081 CMD-LINE: Unterminated option value list or value list was truncated.

Cause: An option that takes a list of values was entered. The value list did not have a closing parenthesis. This error may also occur if the list of values entered on a single line was too long and Pro*C truncated it.

Action: Ensure that all value lists are terminated with a closing parenthesis. Split long value lists into individual entries.


PCC-02100 Unable to initialize PL/SQL

Cause: The precompiler connected to Oracle but could not invoke the PL/SQL engine. This error can result if an earlier release of Oracle7 is used without the Procedural Option.

Action: To use PL/SQL, upgrade to a more recent release of Oracle7.


PCC-02101 Unable to open input file

Cause: The precompiler could not open the input file. This is the .pc file specified in the INAME=option. This means that the file does not exist, that a directory was incorrectly specified in the path name, or that the person running the precompiler does not have read permission for the file. This message could also result from operating-system errors. For example, an unmounted file system or disk I/O errors, could trigger this error.

Action: Check that permission to read the file exists and that the full path name has been specified correctly. Check for operating system problems. See also the operating system-specific Oracle documentation.


PCC-02102 Fatal error while doing C preprocessing

Cause: The precompiler issues this message after a more specific message.

Action: Correct the problem specified in the previous message or messages.


PCC-02103 Password:

Cause: The username was specified on the command line without a password. For example:

proc sqlcheck=full iname=sample1.pc userid=scott

Action: Re-enter the command line, and include the password or specify the password when prompted.


PCC-02104 Unable to connect to Oracle

Cause: The precompiler could not connect to Oracle with the username, password, and, if applicable, database link that was supplied. Note that this is a precompiler message, not a runtime message. This means that the USERID option value, either on the command line or in a configuration file, was incorrect.

Action: Check that the username and password are current and correct. Run SVRMGR or SQL*Plus and verify that connection can be made using that username and password.


PCC-02105 Unable to open list file

Cause: The precompiler could not open the listing file. This message can result from many causes. For example:

  • A path name for a specified listing file contains a non-existent directory.
  • An operating-system error occurred because the file system or disk is full.
  • Write permission on the specified directory has not been granted.

Action: Track down the cause of the error, as suggested above, and correct it.


PCC-02106 Userid only used when SQLCHECK = FULL, userid ignored.

Cause: The USERID option was specified on the command line, but SQLCHECK was not equal to FULL or SEMANTICS. The USERID has no effect, unless SQLCHECK=FULL or SQLCHECK=SEMANTICS. This is a warning message only.

Action: No action required.


PCC-02107 You may not specify PARSE = FULL when CODE = CPP

Cause: The PARSE=FULL and CODE=CPP options were both specified on the command line. The PARSE=FULL option invokes the C parser which does not understand any C++ constructs generated by the precompiler with CODE=CPP option.

Action: Set the PARSE option to either NONE or PARTIAL if the CODE=CPP option is specified.


PCC-02108 UNSAFE_NULL=YES allowed if MODE=ORACLE and DBMS=V7 or V8

Cause: UNSAFE_NULL=YES was specified on the command line, but either the MODE was not ORACLE or the DBMS was not V7 or V8.

Action: Specify MODE=ORACLE and DBMS=V7 or V8 when using UNSAFE_NULL=YES.


PCC-02109 SQLCHECK=NONE is no longer supported.. using SYNTAX

Cause: SQLCHECK=NONE was specified on the command line but is no longer a supported option. SQLCHECK=SYNTAX was used instead.

Action: This is a warning message only. To avoid this warning, specify SQLCHECK=SYNTAX or SQLCHECK=SEMANTICS.


PCC-02110 DBMS=V6_CHAR is deprecated. Use CHAR_MAP=VARCHAR2, DBMS=V7 instead

Cause: DBMS=V6_CHAR was specified on the command line but is no longer a supported option. The options CHAR_MAP=VARCHAR2 and DBMS=V7 were used instead.

Action: This is a warning message only. To avoid this warning, specify CHAR_MAP=VARCHAR2 and, if required, DBMS=V7.


PCC-02111 CHAR_MAP option ignored. Only CHAR_MAP=VARCHAR2 allowed for DBMS=V6

Cause: DBMS=V6 was specified, and CHAR_MAP was specified with a value other than VARCHAR2. The CHAR_MAP value is ignored.

Action: This is a warning message only. To avoid this warning, specify a DBMS value other than DBMS=V6 or use CHAR_MAP=VARCHAR2.


PCC-02112 OBJECTS option ignored. OBJECTS=YES is not allowed for DBMS=V6 or V7.

Cause: OBJECTS=YES was specified on the Pro*C command line, but the DBMS option value was not valid.

Action: This is a warning message only. To avoid this warning for OBJECTS=YES, use DBMS=V8 or DBMS=NATIVE with a V8 database.


PCC-02113 DBMS=V6 no longer supported; using DBMS=NATIVE, CHAR_MAP=VARCHAR2.

Cause: DBMS=V6 was specified on the command line, but is no longer a supported option value. The options DBMS=NATIVE and CHAR_MAP=VARCHAR2 were used instead.

Action: Check your program to verify that you are not depending on any V6 behavior. Refer to the Pro*C/C++ Precompiler Programmer's Guide for effects of specifying DBMS=V6.


PCC-02114 Command line argument MODE=ANSI may not be used with DBMS=V6

Cause: The semantics of certain operations (such as character comparison) in Oracle version ^ are not 100% compliant with the ANSI/ISO SQL standards. When V6 semantics are requested, using the DBMS=V6 or DBMS=V6_CHAR option, precompilation with MODE=ANSI is not permitted.

Action: Do not use ANSI mode with V6 options.


PCC-02115 Unable to open output file for writing

Cause: An attempt was made to precompile a header file where the output data file could not be opened (or created) for writing.

Action: Check for appropriate permissions on the directory and possibly file objects (if a data file already exists) to make sure that write permissions have been granted.


PCC-02116 You must specify a file extension using the HEADER option

Cause: An attempt was made to precompile a header file without specifying the name of the extension to use when creating the generated data file.

Action: Use the HEADER option to specify the name of a file extension to use when creating a data file for a precompiled header.


PCC-02129 CMD-LINE: Client supplied static options table is invalid

Cause: This is an internal error message not usually issued.

Action: Call Oracle Support Services.


PCC-02132 CMD-LINE: Could not allocate memory

Cause: This is an internal error message not usually issued.

Action: Call Oracle Support Services.


PCC-02133 CMD-LINE: Error in string processing function

Cause: This is an internal error message not usually issued. It indicates that a C string function, such as STRCPY or STRLEN, returned an error.

Action: Call Oracle Support Services.


PCC-02134 CMD-LINE: Null option supplied

Cause: A zero length option was specified on the command line.

Action: Re-enter the command line with a valid option.


PCC-02135 CMD-LINE: User asked for help

Cause: This is a final message that the precompiler issues when information about the command line options has been requested. For example, if the command proc ? is issued to get a list of current default values for the command line options, this message appears at the end of the list.

Action: No action required.


PCC-02138 CMD-LINE: Internal consistency error

Cause: This is an internal message for program exceptions. An unexpected condition was encountered by the command-line processor and a consistency check failed. Some possible causes of this message include:

  • invalid command-line options
  • memory corruption

Action: Report this error to Oracle Support Services after gathering the following information:

  • the events that led to the error
  • the attempted operations that led to the error
  • any unusual circumstances prior to this error

PCC-02144 CMD-LINE: Blank characters are not allowed on either side of an equal sign (=)

Cause: An equal sign (=) was either immediately preceded or followed by a blank character.

Action: Precompile your program again without blank characters on either side of any equal sign (=) on the command line.


PCC-02150 Error at line number, column number in file string

Cause: An error was encounter at the given location.

Action: Check the named source file and correct the error using the additional information which follows this error message.


PCC-02151 Line number column number file string:

Cause: An error was encounter at the given location.

Action: Check the listed source file and correct the error using the additional information which follows this error message.


PCC-02152 Unable to open file string to display or list the source line number

Cause: The file contains an error, but could not be reopened to list or display the incorrect line.

Action: Check that the file is intact and it has read permission. Then rerun the operation.


PCC-02153 Open file: string

Cause: A new source file was opened while producing the list file.

Action: No action required; this is an informational message.


PCC-02154 Close file: string

Cause: A source file was closed while producing the list file.

Action: No action required; this is an informational message.


PCC-02200 found unrecognized punctuation sequence

Cause: The error indicates that the precompiler parser encountered a badly-formed identifier or keyword.

Action: Correct the syntax.


PCC-02201 Found syntax error

Cause: This general message precedes one or more specific messages that detail the nature of the error.

Action: No action required. Correct the errors diagnosed in the following message(s).


PCC-02202 No typedef name was given

Cause: The precompiler parser encountered a TYPEDEF statement that had no name after the type specification. For example:

typedef int;

Action: Correct the syntax.


PCC-02203 found end of file when not expected

Cause: The parser can emit this message when a general syntax error occurs, for example, an unmatched '{' or '('.

Action: Correct the syntax.


PCC-02204 EXEC SQL INCLUDE not permitted from within an included file

Cause: EXEC SQL INCLUDE statements cannot be nested. Also, EXEC SQL INCLUDE statement cannot be put inside a file that is included using the #include preprocessor command.

Action: Recode the program so that the nested include statement is not required.


PCC-02205 Parser error at line number, column number, file string:

Cause: The precompiler parser encountered a syntax error, either in C code or in SQL code. A more specific message should follow.

Action: No action required for this message. Take the appropriate action for any following messages.


PCC-02206 Host variables are not permitted within a DDL statement

Cause: A Data Definition Language statement cannot use host variables. For example, the statement:

CREATE TABLE :table_name  (c1 char(10)); 

is illegal, because the name of the table in a CREATE TABLE statement cannot be represented using host variable.

Action: Use dynamic SQL to create the names of database objects (tables, views, columns, and so on) at runtime. See the language-specific Precompiler Programmer's Guide for information about dynamic SQL.


PCC-02207 Invalid macro name

Cause: The precompiler parser encountered a #define directive that had no macro name associated with it. For example:

#define

Action: Correct the syntax.


PCC-02208 No filename specified in #include statement

Cause: The precompiler parser encountered a #include directive that had no filename associated with it. For example:

#include

Action: Specify appropriate filename with the #include directive, or correct the syntax.


PCC-02209 Macro invocation has incorrect number of arguments

Cause: A macro invocation in the source does not have the same number of arguments as the macro definition in the #define line.

Action: Correct the macro reference or the macro definition.


PCC-02210 C++ punctuation sequences are not permitted

Cause: C++ punctuation sequences are not supported by the ProC/C++ precompiler.

Action: Rewrite your C++ code without using punctuation sequences and precompile it again.


PCC-02301 cannot reopen input file for reading

Cause: The semantic analysis phase of the precompiler could not reopen the input file to generate the output code.

Action: Check that the input file and its directory protection and privileges do not change during precompilation.


PCC-02302 cannot open code generation output file "string"

Cause: Pro*C was unable to open one or both temporary files required for code generation. The user executing the precompiler must have write permission (and/or the appropriate privileges) on the current directory.

Action: Check that permission exists to create files in the directory where you precompile.


PCC-02303 cannot open include file

Cause: The precompiler was not able to open a header file specified using the #INCLUDE preprocessor directive or the EXEC SQL INCLUDE statement. This can happen if the file specification is inaccurate or if read permission or read-access rights on the file or on one or more of the directories in the path have not been granted.

Action: Recheck that the file specification is correct, that the file exists, and that read permission has been granted so that the file can be read.


PCC-02304 invalid declaration of C function

Cause: A C function using invalid syntax was declared.

Action: Consult a C programming manual and correct the declaration.


PCC-02305 illegal mixing of new and old style C function declarations

Cause: All C functions using either the traditional style (K&R style) function declarations or the new (ANSI) style must be declared; the two styles cannot be mixed.

Action: Adopt a consist declaration style for functions.


PCC-02306 illegal name of C function

Cause: A C function was declared with a name that is not a legal C identifier.

Action: Use legal C identifiers for all function names.


PCC-02307 void can only be used when single parameter

Cause: A function can be declared or defined using the following syntax:

int func1(void) 

to indicate that the function has no parameters. void can be used only once in this case.

Action: Remove the extra voids in the function definition or declaration.


PCC-02308 identifier required in this function declaration

Cause: A function definition written in ANSI C must have both the name and the type for all parameters.

Action: Rewrite the function definition so that it contains the name of each parameter.


PCC-02309 illegal formal parameter declaration

Cause: A formal parameter to a function was specified without giving its type.

Action: Rewrite the function declaration and include types of all parameters in function declarations.


PCC-02310 formal parameter VARCHARs should be declared as pointers

Cause: Many C compilers allow structures to be passed to and returned from functions. Although a VARCHAR is implemented as a C struct, VARCHARs must be passed to a function as pointers.

Action: Take the address of a VARCHAR when it is passed to a function. See the Pro*C/C++ Precompiler Programmer's Guide for more information.


PCC-02311 cannot have VARCHAR bit fields

Cause: Host variables cannot contain bit fields.

Action: Recode the application to remove the bit fields.


PCC-02312 arrays of VARCHAR greater than 2 dimensions not allowed

Cause: A VARCHAR variable having more that 2 dimensions was declared. Multidimensional arrays are not supported as host variables.

Action: Recode the application to remove multidimensional array usage.


PCC-02313 malformed VARCHAR declaration - missing length

Cause: When a VARCHAR is declared, a length specification is mandatory. For example, the following VARCHAR declaration is meaningless, hence illegal:

VARCHAR v1[];

Action: Specify the length for each declared VARCHAR.


PCC-02314 cannot evaluate constant sizeof expression

Cause: A SIZEOF operator was used where a precompiler expression was expected. For example, as the length of a varchar.

Action: Eliminate the SIZEOF operator in this instance.


PCC-02315 cannot evaluate expression as constant

Cause: The specified expression does not evaluate to a constant. Such expressions are required, for example, as the length of a VARCHAR.

Action: Replace the expression with one that does evaluate to a constant integer.


PCC-02316 illegal operator in constant expression

Cause: A non-arithmetic operator was present in a constant expression.

Action: Rewrite the expression to eliminate the non-arithmetic operator.


PCC-02317 illegal cast type expression

Cause: An illegal cast is present in the expression.

Action: Remove the illegal cast.


PCC-02318 missing type expression

Cause: The specified expression is missing the declaration of a type.

Action: Specify a type for the expression.


PCC-02319 expression type does not match usage

Cause: The type of a variable does not match is usage. For example, in dynamic SQL, a host variable containing the text of a SQL statement must be declared as a C character type or be equivalenced to the SQL type STRING.

Action: Remove the declaration.


PCC-02320 arithmetic expression does not have correct operand types

Cause: The arithmetic expression must be specified with integral types.

Action: Rewrite the expression using integral types.


PCC-02321 only subtraction between two pointers is permitted

Cause: Pointer values cannot be added, multiplied, or divided. The only arithmetic operation permitted with pointers is subtraction.

Action: Recode to avoid this error message.


PCC-02322 found undefined identifier

Cause: An identifier used in a SQL statement was not defined. For example, a cursor name was referenced that had not been declared, or in a DECLARE CURSOR statement, a statement name was used that had not been PREPAREd.

Action: Check that all SQL identifiers, such as cursor names and statement names, have been defined before use. Provide a declaration for the variable and/or its type identifier.


PCC-02323 found typedef name used in an expression (expecting a value)

Cause: The name of a TYPEDEF was found where a variable was expected.

Action: Rewrite the expression and remove the reference to the TYPEDEF.


PCC-02324 found variable name used as a typedef name

Cause: The name of a variable was found where a TYPEDEF was expected.

Action: Rewrite the expression and specify the correct TYPEDEF reference.


PCC-02325 illegal indirection operation

Cause: An attempt was made to use a non-pointer type as a pointer.

Action: Rewrite the expression.


PCC-02326 illegal structure reference operation

Cause: A structure component using invalid syntax was referenced. For example, a -> operator was used instead of a required `.' operator.

Action: Correct the invalid reference.


PCC-02327 struct or struct pointer required

Cause: A scalar host variable was used in a context where a structure (or its pointer) is required.

Action: Make the host variable a structure or add more scalar host variables to satisfy the SQL syntax requirements.


PCC-02328 undefined struct member

Cause: A structure component was referenced that was not declared as part of the structure.

Action: Redefine the structure member.


PCC-02329 found reference to undeclared function

Cause: A function was referenced that was not declared. All function references must be declared.

Action: Declare the function.


PCC-02330 expecting an expression of integer type

Cause: The expression does not evaluate to an integer. For example, a SQL FOR expression must evaluate to an integral type.

Action: Rewrite the expression.


PCC-02331 undefined SQL identifier

Cause: All SQL identifiers must be declared before they are used. This message can result when a CURSOR or STATEMENT is not declared (defined) before being referenced.

Action: Define the SQL identifier before it is used.


PCC-02332 attempted to redefine SQL identifier

Cause: A SQL identifier (such as a cursor name) can be defined only once.

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


PCC-02333 SQL identifier was not declared as a statement

Cause: A SQL statement identifier was referenced in a DECLARE... CURSOR statement that was not PREPAREd.

Action: Check that all SQL statement names have been declared. Remember that SQL statement names are identifiers, not variables, and that they are local to the precompilation unit.


PCC-02334 SQL identifier was not declared as a cursor

Cause: A cursor name was used in an OPEN, FETCH, or CLOSE statement that had not been DECLAREd.

Action: Check that all SQL cursor names have been declared. Remember that cursors are identifiers, not variables, and that they are local to the precompilation unit.


PCC-02335 body of cursor must name statement identifier

Cause: In a Dynamic SQL Method 4 application, the DECLARE... CURSOR statement must name a statement identifier that has been PREPAREd in a preceding statement. The PREPARE statement must physically (not logically) precede the DECLARE command.

Action: This error message is followed by another message that gives the line and column of the reference to the statement. Recode the application.


PCC-02336 host variable expression has invalid type

Cause: The host variable was declared using a C type that is not permitted as a host variable. See the Pro*C/C++ Precompiler Programmer's Guide for a list of the permissible C types for host variables.

Action: Use a permissible host variable type.


PCC-02337 cannot declare multi-dimensioned array for this type

Cause: Host variable arrays of scalars with more than 1 dimension cannot be declared. The only host variables allowed to be multi-dimensioned are CHAR and VARCHAR.

Action: Rewrite the variable declaration.


PCC-02338 structure contains a nested struct or union

Cause: A structure used as a host variable may not have structures or unions nested within it.

Action: Rewrite the variable declaration.


PCC-02339 host variables cannot be of union types

Cause: A C union as a host variable cannot be used.

Action: This error message is followed by another message that gives the line and column of the reference to the illegal union. Recode, using a struct or individual scalar host variables.


PCC-02340 structure contains a bit field

Cause: Bit fields are not allowed in host variables because they are meaningless for database DML operations.

Action: This error message is followed by another message that gives the line and column of the reference to the offending host variable. Recode the application.


PCC-02341 host variable has illegal type

Cause: A host variable has an type that is not permitted (that is, ENUM, VOID, and so on).

Action: Rewrite the host variable declaration, using a permissible host variable type.


PCC-02342 using WHERE CURRENT OF on cursor defined without FOR UPDATE clause

Cause: When MODE=Oracle, a cursor defined with a WHERE CURRENT OF clause must also have a FOR UPDATE clause.

Action: Rewrite the cursor definition.


PCC-02343 body of cursor must be a query expression

Cause: A cursor definition must be a SELECT statement.

Action: Rewrite the cursor definition.


PCC-02344 Host variable array size mismatch. Using minimum: number

Cause: Host variable arrays in a single statement should all be of equal size.

Action: Redefine the bind variable array lengths to all be the same size.


PCC-02345 SQLCHECK=SEMANTICS must be given when embedded PL/SQL blocks are used

Cause: Embedded PL/SQL blocks require that the command-line flag SQLCHECK=SEMANTICS is used.

Action: Use the SQLCHECK=SEMANTICS option. This also requires that the USERID connect option be given.


PCC-02346 PL/SQL found semantic errors

Cause: A database entity, such as a table or column name, was referenced, that does not exist. This is a compile time error, not a runtime error.

Action: Check that all referenced objects in PL/SQL statements actually exist and that the necessary access permission on them have been granted.


PCC-02347 PL/SQL found syntax errors

Cause: A PL/SQL statement was used illegally.

Action: Check the PL/SQL User's Guide and Reference for the correct syntax.


PCC-02348 indicators are not allowed in EXEC IAF statements

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

Action: Eliminate the indicator variable. If feasible (for example with Forms V4), use EXEC TOOLS statements, which do allow indicator variables. See the Pro*C/C++ Precompiler Programmer's Guide for more information.


PCC-02349 precision must be specified for this type

Cause: In a VAR or TYPE statement, certain Oracle types require that the precision be specified. For example, VARCHAR2 or CHAR.

Action: Indicate the precision.


PCC-02350 cannot equivalence this SQL type

Cause: Datatype or variable equivalencing to the datatypes NUMBER or DECIMAL cannot be used. See the Pro*C/C++ Precompiler Programmer's Guide for more information.

Action: Use the appropriate datatype for the application.


PCC-02351 illegal datatype equivalencing operation

Cause: The datatype specified could not be equivalenced, or the syntax was incorrect in the VAR or TYPE statement.

Action: See the Pro*C/C++ Precompiler Programmer's Guide for a list of the datatypes that can be equivalenced and the correct syntax of the VAR or TYPE statement.


PCC-02352 out of bounds bind position from PL/SQL

Cause: PL/SQL requested a bind position that does not exist.

Action: Contact Oracle Support Services.


PCC-02353 Semantic error at line number, column number, file string:

Cause: This error message precedes a more specific error message.

Action: No action required. Correct the error(s) reported in the following message(s).


PCC-02354 A file included with #include may not contain SQL statements

Cause: The Pro*C Precompiler reads header files referenced in #INCLUDE directives and uses the values defined in them. But the precompiler never generates code using statements in header files, so use of SQL statements in these files is illegal.

Action: Move the SQL statement(s) into the main body of the application or use EXEC SQL INCLUDE to check that the included file is precompiled.


PCC-02355 Invalid or obsolete option, ignored

Cause: A command-line option that is not used in Pro*C Release 2.0 was specified. For example, the option AREASIZE is no longer valid with precompilers used with the Oracle7 Server.

Action: No action required. This is an informational message.


PCC-02356 Warning at line number, column number, file string:

Cause: This is a generic warning message. It precedes a more specific warning.

Action: No action required. Correct the error(s) indicated in the following message(s).


PCC-02357 Function calls may not be used as host variable expressions

Cause: Only objects that are LVALUES (that resolve to an address) can be host variables. Because a function call is not an LVALUE, one cannot be used in place of a host variable.

Action: Recode the application.


PCC-02358 Identifier following ARRAYLEN must be the name of an array

Cause: A declared array must be specified as the argument for an ARRAYLEN statement. Declare the array textually before the ARRAYLEN statement. See the Pro*C/C++ Precompiler Programmer's Guide for the syntax of the ARRAYLEN statement.

Action: Correct the statement, specifying a host array as the argument.


PCC-02359 Identifier specifying ARRAYLEN must be a 4-byte integer

Cause: The expression that specifies the ARRAYLEN dimension must evaluate to an integer. For example, the statement EXEC SQL ARRAYLEN my_array(1,3) cannot be parsed.

Action: Correct the statement, using an integral dimension.


PCC-02360 This array type is invalid for use with ARRAYLEN statement

Cause: Arrays of some host variables types are not allowed and hence also cannot be used in ARRAYLEN statements. VARCHAR and DATE are examples.

Action: Specify an array with a datatype that can be used in host arrays.


PCC-02361 Use of ARRAYLEN with SQL bind arrays is ignored

Cause: ARRAYLEN is only valid with arrays that can be bound in PL/SQL blocks.

Action: Use an appropriate array type.


PCC-02362 Host variable not declared within SQL DECLARE section

Cause: When MODE=ANSI is specified at precompile time, all host variables must be declared inside Declare Sections. Remember that MODE=ANSI refers to ANSI SQL, not ANSI C.

Action: Add the EXEC SQL BEGIN DECLARE SECTION... EXEC SQL END DECLARE SECTION statements around all host variable declarations.


PCC-02363 Indicator variable must be a structure

Cause: If a host variable is a structure, the associated indicator variable must also be a structure.

Action: Recode the application to create an indicator variable as a structure.


PCC-02364 Host struct and its indicator must have the same number of fields

Cause: When a structure containing indicator variables is declared and associated with a host structure, the indicator structure must contain the same number of fields as the host structure. This is so even when some of the indicators will not be used or even when it would not make sense to do so (for fields constrained as NON NULL, for example).

Action: Redeclare the indicator variable with the correct number of fields.


PCC-02365 Indicator array size cannot be smaller than host array size

Cause: An indicator array must have dimension greater than or equal to the corresponding host variable array dimension.

Action: Change the dimension of the indicator array.


PCC-02366 Command line argument MODE=ANSI may not be used with DBMS=V6

Cause: The semantics of certain operations (such as character comparison) in Oracle version ^ are not 100% compliant with the ANSI/ISO SQL standards. When V6 semantics are requested, using the DBMS=V6 or DBMS=V6_CHAR option, precompilation with MODE=ANSI is not permitted.

Action: Do not use ANSI mode with V6 options.


PCC-02367 This indicator variable must be declared as type short

Cause: An indicator for a host variable of this type must have the C type short. An array of such indicators must be an array of shorts.

Action: Declare the indicator variable or indicator array as type short.


PCC-02368 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: Redeclare the context name to a host variable of a char type.


PCC-02369 An EXEC TOOLS host pointer variable is not a pointer

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

Action: Redeclare the variable, making sure that it is a pointer.


PCC-02370 An EXEC TOOLS MESSAGE host variable is not type char

Cause: f 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 message to a host variable of a char type.


PCC-02371 Illegal FOR clause

Cause: The argument of a FOR clause must be specified as an integer or as an identifier containing an integer.

Action: Rewrite the FOR clause.


PCC-02372 FOR clause not allowed in SELECT statement

Cause: A SQL statement containing a SELECT command cannot contain a FOR clause. The meaning of such a statement would be unclear.

Action: Rephrase the SELECT statement, removing the FOR clause.


PCC-02373 Invalid declaration in EXEC SQL DECLARE section

Cause: An improper declaration was placed in a DECLARE section. This message is usually caused by including an EXEC SQL TYPE or EXEC SQL VAR declaration in a DECLARE section.

Action: Move the declaration outside of the SQL DECLARE section.


PCC-02374 SQLCHECK value exceeds command line value

Cause: The value given to the SQLCHECK option in an EXEC ORACLE statement in a program was greater than the value given either on the command line or greater than the default value if no SQLCHECK option was given on the command line. The order of the option values is SEMANTICS>SYNTAX>NONE. When this warning message is issued, the original value of SQLCHECK (the default or the command-line value) stays in effect.

Action: Remove or recode the EXEC Oracle option(s) in the .PC source file to avoid this warning message.


PCC-02375 SQL statement found outside the body of a function

Cause: A SQL statement other than a declarative, datatype equivalence or WHENEVER statement was found outside the body of a function when PARSE=FULL.

Action: Move the SQL statement inside the body of a function.


PCC-02376 You may not declare SQLCODE when DEF_SQLCODE = TRUE

Cause: The DEF_SQLCODE option may not be specified if a SQLCODE declaration already explicitly appears in the program.

Action: Remove the SQLCODE declaration from the program or specify DEF_SQLCODE=NO (the default).


PCC-02377 Arrays of implicit varchars are not permitted

Cause: An array of implicit VARCHARS was declared when HOST_VARCHAR=TRUE.

Action: Rewrite the implicit VARCHAR declaration without using arrays.


PCC-02378 Invalid type for National Language character variable

Cause: A variable declared as a National Language character using the NLS_CHAR option was not declared as a char or implicit VARCHAR.

Action: Declare the variable as a char or implicit VARCHAR or do not specify using the NLS_CHAR option.


PCC-02379 Cannot equivalence National Language character variables

Cause: A National Language character variable (specified using the NLS_CHAR option) has undergone datatype equivalencing using either the EXEC SQL VAR or TYPE statements.

Action: Do not equivalence National Language character variables.


PCC-02380 Cannot specify a connect mode when altering a user password

Cause: An attempt was made to connect in either SYSOPER or SYSDBA mode while at the same time trying to change passwords using the ALTER AUTHORIZATION clause in the same CONNECT statement.

Action: Changing passwords while connecting in SYSOPER or SYSDBA mode is prohibited. Rewrite the connect statement by either removing the ALTER AUTHORIZATION clause or the CONNECT MODE clause.


PCC-02382 You must specify MODE=ANSI when using NLS_LOCAL=YES

Cause: NLS_CHAR was used to specify NLS multi-byte character variables without specifying MODE=ANSI.

Action: Specify MODE=ANSI on the command line when using NLS_LOCAL=TRUE.


PCC-02383 Expecting an expression of type OCIExtProcContext

Cause: The type of the bind variable given in a REGISTER CONNECT USING statement was not (pointer to) OCIExtProcContext.

Action: Declare a variable having type (pointer to) OCIExtProcContext and use it in the REGISTER CONNECT USING statement.


PCC-02384 Missing array length specifier

Cause: An array declaration was given without an array length specifier.

Action: Provide the length for the array declaration.


PCC-02385 CHAR_MAP disallowed when using NLS_CHAR and NLS_LOCAL=TRUE

Cause: The CHAR_MAP option was specified while indicating which host variables are to be treated by the precompiler as NLS multi-byte character variables. This mapping cannot be performed with the option NLS_LOCAL=TRUE. This error also occurs when DBMS=V6 is used in conjunction with NLS_CHAR and NLS_LOCAL=TRUE.

Action: Remove either the CHAR_MAP option or set NLS_LOCAL=FALSE. Ensure that DBMS is not set to V6.


PCC-02386 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.


PCC-02387 Expecting an expression of type sql_cursor

Cause: A host bind variable was used in an ALLOCATE, FETCH or CLOSE statement that was not declared as a result set SQL_CURSOR.

Action: Declare the variable to be of type SQL_CURSOR.


PCC-02388 Arrays not allowed in FROM/WHERE clause of SELECT statement

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

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


PCC-02389 Arrays not allowed as input bind variables in SELECT list

Cause: A host array was used in the SELECT list of a SELECT-INTO statement.

Action: Rewrite the SELECT statement without using arrays in SELECT list.


PCC-02390 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 and that has been ALLOCATEd and USEd prior to any executable SQL statements.


PCC-02391 Runtime context variable not of correct type

Cause: The host variable in a EXEC SQL CONTEXT USE statement or in the RETURNING clause of a REGISTER CONNECT statement was not declared to be of type SQL_CONTEXT.

Action: Declare the runtime context variable to be of type SQL_CONTEXT.


PCC-02392 You are already in an EXEC SQL DECLARE SECTION

Cause: A SQL DECLARE SECTION appears nested inside another one.

Action: Do not nest DECLARE SECTIONS. Remove any nested inner ones.


PCC-02393 SQL statement found inside an EXEC SQL DECLARE SECTION

Cause: An executable SQL statement appears inside a DECLARE SECTION.

Action: Move the SQL statement into the body of a function.


PCC-02394 Input file name and output filename are identical

Cause: The values of INAME and ONAME are the same or the default output filename is the same as that specified by ONAME.

Action: Use ONAME to specify a different filename for the output file.


PCC-02395 Using arrays of structs requires that the struct be named

Cause: An array of some unnamed struct was used as a host variable. When using arrays of structs, the struct requires a name or tag.

Action: Provide a name for the struct.


PCC-02396 Illegal use of arrays inside an array of structs

Cause: An array of a struct that contained arrays of scalars or two-dimensional char or VARCHAR fields was used as a host variable.

Action: Rewrite the struct so that there are no scalar arrays or two-dimensional char or VARCHAR fields.


PCC-02397 VARCHAR declarations not permitted in #include file

Cause: A VARCHAR declaration was found in a file included using a #include form.

Action: Use the EXEC SQL INCLUDE form to include files with VARCHAR declarations instead.


PCC-02398 Indicator ignored in this statement for this type

Cause: An indicator variable was used in a host/indicator variable pair for some type in a statement that did not require or need one. Typically, indicator variables are not used in ALLOCATE and FREE statements for types other than object or collection types. They are also not used in OBJECT CREATE/DEREF statements for REF types.

Action: Remove the use of the indicator for the type in the specified statement. It will be ignored otherwise.


PCC-02399 Illegal CHAR_MAP option value for DBMS=V6. Option ignored.

Cause: A CHAR_MAP option other than CHAR_MAP=VARCHAR2 was specified inline. Since DBMS=V6, this option is ignored for a character or string variable in the offending statement.

Action: Either set DBMS to something other than V6, or specify CHAR_MAP=VARCHAR2.


PCC-02400 This host variable must be declared as a pointer type

Cause: The specified host variable was not declared as a pointer type.

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


PCC-02401 Host variable arrays of this type are currently not supported

Cause: Host variable arrays of the specified type are not supported.

Action: Rewrite your program so that there are no arrays of this type.


PCC-02402 Pro*C option OBJECTS=YES is required when using the object cache

Cause: The object cache will be used for this host variable, but OBJECTS=NO was specified on the Pro*C command line.

Action: Specify OBJECTS=YES on the Pro*C command line when using the object cache.


PCC-02403 Invalid indicator variable type for this host variable

Cause: The type of the indicator variable is not appropriate for the specified host variable.

Action: Change the type of the indicator variable to a valid type. Refer to the Pro*C/C++ Precompiler Programmer's Guide for a discussion of appropriate indicator variable declarations.


PCC-02404 This indicator variable must be declared as a pointer type

Cause: The specified indicator variable was not declared as pointer type.

Action: Declare the indicator variable to be a pointer type.


PCC-02405 Variable is of undefined type

Cause: No declaration was found for the type identifier of the variable.

Action: Provide a valid declaration for the type of the host variable. If using objects in your program, check that the OTT-generated header for the object type was #included and that the type file was specified in the INTYPE option on the Pro*C command line.


PCC-02406 Expecting the form 'RETURN[ING] REF INTO :ref' only

Cause: When using the RETURNING clause in an OBJECT CREATE statement, only a single 'REF INTO :host_variable' is expected. This error occurs if the expression list to which REF belongs is greater than one or if there are more than one host variables supplied in the into list.

Action: Rewrite the RETURNING clause as per the given specification.


PCC-02407 Object and REF types do not match

Cause: In an OBJECT CREATE or DEREF statement, the types of the given Object and its associated REF do not match.

Action: Make sure that the Object and its REF have the same type. The type information is generated by OTT and should appear in the header file which OTT creates.


PCC-02408 Expecting an expression of some Object type

Cause: The expression is not an Object type. For example, many host variable expressions in the Navigational statements require that the variable be declared of some Object type.

Action: Rewrite the expression or declare the variable to be an Object.


PCC-02409 Expecting an expression of some REF type

Cause: The expression is not a REF type. For example, some host variables in the Navigational CREATE and DEREF statements are required to be declared of some REF type.

Action: Rewrite the expression or declare the variable to be a REF.


PCC-02410 Expecting an expression of some Collection type.

Cause: The expression is not a Collection type. A VARRAY or Nested Table object was expected, but the given host variable did not resolve to a valid Collection type.

Action: Check that the OTT-generated header for the Collection type was properly #included in the Pro*C/C++ program and that the type file was specified in the INTYPE option on the Pro*C/C++ command line.


PCC-02411 Invalid type for INDICATOR descriptor item host variable

Cause: The type of the host variable paired with the INDICATOR descriptor item was invalid. The only permissible types for the INDICATOR item are a signed 2 byte numeric type or an indicator struct generated by the Object Type Translator for a user defined object type.

Action: Either replace the INDICATOR host variable with a valid one having an acceptable type or redeclare the existing host variable to be of a valid type.


PCC-02412 FOR clause not permitted in OBJECT GET or SET statement

Cause: An explicit FOR clause was used in an OBJECT GET or OBJECT SET statement. Use of the FOR clause is illegal for these statements.

Action: Remove the FOR clause.


PCC-02413 Number of attributes does not match number of host variables

Cause: The number of attributes supplied in the attribute list of an OBJECT SET of GET statement does not match the total number of host variables also supplied in that statement.

Action: Either remove some attributes or remove some host variables from the statement in order to make the total count for each the same.


PCC-02414 This attribute does not exist in the specified Object

Cause: An attribute given in the attribute list of an OBJECT SET or GET statement is not a member of the specified object in that statement.

Action: Remove the attribute from the list.


PCC-02415 Cannot manipulate Object attributes in an OBJECT GET or SET

Cause: An attempt was made to either GET or SET an attribute of an Object that itself was an Object or REF type.

Action: Remove the attribute from the attribute list in the statement.


PCC-02416 The Object in an OBJECT GET or SET must not be an array

Cause: The Object specified in an OBJECT GET or SET statement is an array which is illegal.

Action: Redeclare the Object so that it is not an array or subscript the Object so that only a single element of the Object array is specified.


PCC-02417 Illegal type conversion between attribute and host variable

Cause: An illegal type conversion was attempted in a Navigational GET or SET statement between the type of the Attribute and the type of the Host Variable.

Action: Change the type of either the Attribute or the Host Variable.


PCC-02418 Array size mismatch between Object and REF host variables

Cause: The array sizes of the Object and REF variables in an OBJECT CREATE or DEREF do not match.

Action: Adjust the array dimensions of the two host variables so that they are equal to one another.


PCC-02419 Host variable arrays not allowed in an OBJECT SET or GET

Cause: An array was found in the host variable list of an OBJECT SET or GET statement.

Action: Only scalars are allowed (except for single dimensioned char or varchar variables) in the host variable list of an OBJECT SET or GET. Make sure to use only scalars in these statements.


PCC-02420 Incomplete (or missing) type specification

Cause: An incomplete or perhaps missing type specification was given when declaring a host variable used in some SQL statement.

Action: Provide a complete type definition when declaring host variables intended for use inside any SQL statements.


PCC-02421 This host variable requires the use of an indicator variable

Cause: No indicator variable was provided (or matched) with a specific host variable where one was explicitly required.

Action: Provide an indicator variable for use with the specified host variable in the given SQL statement.


PCC-02422 Invalid value specified for the given context option

Cause: An illegal value was given for the specified runtime context option in the CONTEXT option OPTION SET (or GET) statement.

Action: Use a valid option value in the statement for the specified option being manipulated by the statement.


PCC-02423 Host variable has an invalid type for this option value

Cause: The type of the host variable corresponding to a specific option value in a CONTEXT option OPTION SET (or GET) statement is invalid for that particular value.

Action: Use a type suitable for the specific value being manipulated.


PCC-02424 The number of values and host variables does not match

Cause: There is a mismatch between the number of values specified and the number of valid host variables given in a CONTEXT option OPTION SET (or GET) statement.

Action: Use the same number of host variables as there are values given in that particular statement.


PCC-02425 An indicator variable is not required with this attribute

Cause: In a LOB or Collection DESCRIBE, an Indicator Variable was used with a Host Variable when retrieving a LOB attribute that doesn't require one.

Action: Remove the Indicator Variable.


PCC-02426 Incompatible LOB types

Cause: A LOB operation was attempted between LOBs whose types were not compatible. For example, When ASSIGNing one LOB to another, both LOBs must be of the same type. If they are not, this error results.

Action: Correct the LOB operation by having it function between LOBs of the same type. This may require a redeclaration of one of the LOBs used in the LOB statement performing the specified operation.


PCC-02427 Expression is not of the correct character string type

Cause: The given host variable expression was not declared to be of the required character type. In this case, one of several possible character types would have been accepted. However, the host variable type did not match any of them.

Action: Redeclare the problematic host variable, using one of the permitted character types.


PCC-02428 Buffer type is incompatible with LOB type

Cause: This error can occur in either of the following situations 1. An attempt to READ from a LOB into a buffer whose type was not compatible with the LOB type. 2. An attempt to WRITE a buffer into a LOB whose type was not compatible with the buffer type.

Action: Either the LOB type or the buffer type needs to be changed so that the LOB and buffer types become compatible for the specified operation.


PCC-02429 Expecting an expression of some internal LOB type

Cause: The given host variable was not declared to be an Internal LOB. BLOB, CLOB or NCLOB would have been accepted, however, the type of the host variable did not match any of these.

Action: Redeclare the host variable using one of the Internal LOB types.


PCC-02430 Expecting an expression of some arbitrary LOB type

Cause: The given host variable was not declared to be any type of LOB, Internal or External. In addition to any Internal LOB type, BFILE would also have been accepted, however, the type of the host variable did not match any of these.

Action: Redeclare the host variable using any of the LOB types, Internal or External.


PCC-02431 Expecting an expression of type external LOB (BFILE)

Cause: The given host variable was not declared to be an External LOB. Only BFILE would have been accepted in this case.

Action: Redeclare the host variable using an External LOB type (BFILE).


PCC-02432 Cannot open an external LOB (BFILE) in READ WRITE mode

Cause: An attempt was made to OPEN a BFILE in READ WRITE mode. Writable BFILEs are currently not supported so this operation is considered erroneous.

Action: Do not open BFILEs using READ WRITE mode. BFILEs can only be OPENed in READ ONLY mode.


PCC-02433 Invalid host variable and attribute pairing

Cause: The host variable and attribute pairing in a LOB or Collection DESCRIBE is invalid. Most likely, this was due to some problem with the host variable. For example, this error could occur if the host variable was not declared or is otherwise not provided.

Action: Usually, other, more specific, errors will accompany this one. Correcting some or all of those problems should resolve this error.


PCC-02434 FOR clause not permitted in any LOB statement

Cause: An explicit FOR clause was used in some LOB statement. The use of the FOR clause in LOB statements is erroneous.

Action: Remove the FOR clause.


PCC-02435 This attribute is only valid for internal LOB types

Cause: A request for a LOB attribute was made in a LOB DESCRIBE statement in which the given LOB was not of some Internal LOB type.

Action: Replace the LOB host variable in the LOB DESCRIBE with one that was declared to be an Internal LOB.


PCC-02436 This attribute is only valid for external LOB types (BFILEs)

Cause: A request for a LOB attribute was made in a LOB DESCRIBE statement in which the given LOB was not an External LOB type (BFILE).

Action: Use an External LOB (BFILE) host variable in the LOB DESCRIBE statement.


PCC-02437 Expecting an expression having binary integral type

Cause: A host variable was given that was not declared to be of some acceptable binary numeric integral type. Generally, when this error occurs, a signed or unsigned integral type was expected. Floating point or otherwise imprecise numeric types are considered erroneous.

Action: Replace the problematic host variable with one that was declared using a proper exact numeric integral type.


PCC-02438 Arrays of collection objects are not allowed

Cause: An array of collections was given in a COLLECTION statement. Only scalar (non-array) collection objects are allowed in any of the COLLECTION statements.

Action: Change the declaration of the Collection host variable so that it is not an array.


PCC-02439 FOR clause not allowed in this COLLECTION statement

Cause: An illegal FOR clause was used in a COLLECTION statement that did not allow one, particularly, one of either the TRIM or DESCRIBE COLLECTION statements.

Action: Remove the FOR clause from the statement.


PCC-02440 This attribute is valid for either internal or external LOBs

Cause: A request for a LOB attribute was made in a LOB DESCRIBE statement in which the given LOB host variable was neither an Internal an External LOB (BFILE) type.

Action: Use either an Internal or External LOB host variable in the LOB DESCRIBE statement.


PCC-02441 Number of attributes does not match number of host variables

Cause: There is a mismatch between the number of attributes and the number of valid host variables in the LOB or Collection DESCRIBE.

Action: Make sure that for each attribute being requested there is at most a single valid host variable given to hold its value.


PCC-02442 Expecting a value between 1 and 65535 inclusive

Cause: The value specified in the WITH MAX clause of an ALLOCATE DESCRIPTOR statement or the VALUE clause of a GET/SET DESCRIPTOR statement was either less than 1 or greater than 65535.

Action: Specify a value between 1 and 65535.


PCC-02443 This usage is only valid when DYNAMIC=ANSI is specified

Cause: One of the following statements was used without specifying a DYNAMIC=ANSI command line option setting:

  • EXEC SQL ALLOCATE/DEALLOCATE/GET/SET DESCRIPTOR
  • EXEC SQL DESCRIBE OUTPUT/INPUT ... USING ... descriptor
  • EXEC SQL EXECUTE ... INTO ...
  • EXEC SQL EXECUTE ... USING ... descriptor
  • EXEC SQL OPEN ... INTO ...
  • EXEC SQL OPEN ... USING ... descriptor

Action: Specify DYNAMIC=ANSI or remove statements like those above from the program.


PCC-02444 Invalid combination of descriptor and non-descriptor clauses

Cause: There was a mixing of descriptor and non-descriptor clauses in an ANSI Dynamic SQL statement.

Action: Do not mix descriptors and non-descriptors in the ANSI statement in question.


PCC-02445 USING clause valid only on a PREPAREd dynamic statement

Cause: The USING clause was used with an OPEN cursor statement where the cursor declaration was not for a PREPAREd statement. The correct sequence of statements should be as follows:

EXEC SQL PREPARE s FROM :stmt; 
EXEC SQL DECLARE c CURSOR FOR s;
EXEC SQL OPEN c USING ...;

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


PCC-02446 FOR clause not allowed in a DEALLOCATE statement

Cause: An explicit FOR clause was used in a DEALLOCATE DESCRIPTOR statement.

Action: Remove the FOR clause from the statement.


PCC-02447 Cannot specify destination offset in a LOB WRITE APPEND

Cause: A destination offset was specified in a LOB WRITE APPEND statement. The destination offset is assumed to be the end of the LOB so specifying an explicit destination offset is erroneous.

Action: Remove the destination offset from the LOB WRITE APPEND statement.


PCC-02448 Cannot specify a UCS2 variable in the NLS_NCHAR option

Cause: A variable declared as UTEXT, UVARCHAR, or LONGUVARCHAR was specified in the NLS_NCHAR command line option.

Action: Re-precompile without specifying the variable in an NLS_NCHAR command line option.


PCC-02449 Cannot type equivalence a UCS2 type

Cause: A UCS2 type has been type equivalenced in an EXEC SQL TYPE statement or a variable of UCS2 type has been type equivalenced in an EXEC SQL VAR statement.

Action: Remove the EXEC SQL TYPE or EXEC SQL VAR statement.


PCC-02450 Cursor was not declared in scrollable mode

Cause: A cursor which was not DECLAREd in SCROLL mode was used in scrollable mode in the FETCH statement.

Action: Declare the cursor in scroll mode using the SCROLL keyword.


PCC-02451 Value of offset cannot be negative in ABSOLUTE orientation mode

Cause: The offset for the FETCH ABSOLUTE statement is negative.

Action: Value of offset should be positive.


Go to previous page Go to next page
Oracle
Copyright © 1996, 2002 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback