Oracle8 Error Messages
Release 8.0

A54625_01

Library

Product

Contents

Index

Prev Next

20
SQL*Module Messages

This chapter lists messages you might see when using SQL*Module. For more information on SQL*Module, see the SQL*Module User's Guide and Reference. SQL*Module issues error messages like the following:

MOD-F-0037: End of SQL statement or PL/SQL block not found : The error code consists of a prefix, severity code, and sequence number. The prefix MOD shows that the error was issued by SQL*Module. There are four severity codes; the following list gives their meanings:

Code   Meaning  

W  

Warning - despite an error, a compilable output file was created.  

S  

Severe error - despite an error, an output file was created. However, it might not be compilable. (Note: the file is created only if RPC_GENERATE=NO.)  

F  

Fatal error - no output file was created because of an internal problem or because a resource (such as memory) was unavailable or ran out.  

U  

Unrecoverable error - no output file was created because an input requirement was not met.  

In addition to the errors generated by SQL*Module, you might encounter errors at runtime. These errors have the prefixes SQL- and ORA-. SQL errors are generated by the routines in the SQLLIB library; ORA errors are generated by the server.

00000-00100: SQL*Module Messages

MOD-00009: unable to open input file name

Cause: SQL*Module is not able to open the input file that was specified with the INAME option. This error can result from any of the following:

Action: Check that the appropriate permission to read the file has been granted. Check that the name and directory hierarchy have been specified correctly. Rerun the compiler.

MOD-00010: unable to open listing file name

Cause: SQL*Module is not able to create the listing output file. This usually happens when write permissions do not exist on the current directory or on the directory specified for the LNAME option. It can also happen if the name or directory path is not legal or a directory on the path does not exist.

Action: Check the permissions on the specified path and file, or on the current directory if the LNAME option is not used.

MOD-00011: unable to open output file name

Cause: SQL*Module is not able to create an output file, such as the specification file or the output code file. This usually happens when write permissions on the current directory or on the directory specified for the ONAME or SNAME options do not exist. It can also happen if the name or directory path is not legal or a directory on the path does not exist.

Action: Check the permissions on the specified path and file, or on the current directory if the ONAME or SNAME options are not used.

MOD-00012: encountered the symbol name when expecting one of the following...

Cause: This is caused by a syntax error in the Module Language file. For example, if the SQL statement

SELECT ename INTO :name FORM emp WHERE ... 


is in a module procedure, the following message appears:

MOD-S-00012, : Encountered the symbol FORM where expecting one of the following:

,:INDICATOR FROM 


This message is not triggered by semantic errors. See MOD-0075.

Action: Correct the syntax error, then recompile.

MOD-00015: Oracle Error: ora-nnnnn

Cause: This message results from an internal error: an invalid value for the mode of a bind variable.

Action: Contact customer support.

MOD-00016: out of space - unable to allocate num bytes

Cause: SQL*Module could not allocate enough memory to run or to perform some required action.

Action: Try killing some non-essential processes, then rerunning SQL*Module. On some operating systems, there may be a quota for the amount of memory the processes can allocate. See the system administrator. If necessary, increase memory for the machine.

MOD-00017: unable to connect to Oracle with conn_str:username/password. Oracle error number ora-nnnnn

Cause: The database connection or the username or the password that was specified was not correct. This message can result from an incorrect command-line specification or an incorrect specification of the username and/or password in the module AUTHORIZATION clause.

Action: Look up the error number in the ORA message chapters of this manual for more specific information on the failure. Correct the identifiers, then rerun SQL*Module.

MOD-00027: no input file name specified

Cause: The STORE_PACKAGE=YES option was entered, but an input file using the INAME option was not specified.

Action: Use INAME on the command line.

MOD-00036: internal programming exception

Cause: An internal error occurred.

Action: Contact customer support.

MOD-00038: module name required when output language is Ada

Cause: A MODULE clause was not specified in the module source file, or a name for the module was not provided.

Action: Specify the module name in the module file.

MOD-00039: unable to open specifications file name

Cause: SQL*Module is not able to create the specifications (header) output file. This usually happens when write permissions on the current directory or on the directory specified for the SNAME option do not exist. It can also happen if the name or directory path is not legal, a directory on the path does not exist, or the disk or file system is full.

Action: Check the permissions on the specified path and file or on the current directory if the SNAME options are not used. Check that the disk or file system is not full.

MOD-00041: ANSI violation at line num, column colnam: text

Cause: FIPS=YES was specified, and part of the module code was not compliant with the ANSI SQL92 Entry Level standard.

Action: Specify FIPS=NO (the default) or correct the code.

MOD-00042: cursor name is multiply declared

Cause: The cursor named in the message was declared more than once in the module file.

Action: Check that each cursor names (not just in the module file, but in the entire application) is unique.

MOD-00043: procedure name is multiply declared

Cause: A procedure named X was declared more than once in the module file.

Action: Check that each procedure name (not just in the module file, but in the entire application) is unique.

MOD-00044: parameter param in procedure name is multiply declared

Cause: In the procedure named in the message, a parameter was declared with a name that duplicates another parameter's name.

Action: Check that each parameter name in a procedure is unique.

MOD-00046: cursor name has not been declared

Cause: In the module file, an OPEN, FETCH, or CLOSE was attempted on a cursor that had not yet been declared.

Action: Insert an appropriate cursor declaration in the module file. Remember that cursors must be declared in the file before they are acted upon.

MOD-00047: an open statement already exists for cursor name

Cause: More than one procedure in this module contains an OPEN command on the named cursor.

Action: Remove one of the OPEN commands, as there is no need for redundancy.

MOD-00048: cursor name was never opened

Cause: No OPEN command exists in the module for the cursor named in this message.

Action: Add an OPEN command or remove the cursor if it is not needed.

MOD-00049: unable to initialize PL/SQL

Cause: This message usually results when SQL*Module cannot connect to the database, using the username and password mentioned either in the module's AUTHORIZATION clause or on the command line with the USERID option.

Action: If connection is made using Net8, check that a listener process is running and that the service name specified in the AUTHORIZATION clause or on the command line is in the tnsnames.ora file. If the connect parameters are correct and this problem persists, contact customer support.

MOD-00050: formal parameter param is not used in procedure

Cause: A formal parameter was declared in a procedure, but never used.

Action: Remove the parameter declaration or use it in the procedure.

MOD-00054: name is not a valid cursor reference

Cause: An attempt was made to OPEN a cursor that had not been declared.

Action: Declare the cursor or remove the erroneous reference to it.

MOD-00059: INTO variable var was not listed as a formal parameter

Cause: The target of an INTO clause in a SELECT statement is not a parameter of the procedure.

Action: Declare the parameter using the correct datatype in the procedure's parameter list.

MOD-00060: PL/SQL error in compiling package specification

Cause: A semantic error occurred in the PL/SQL parse phase when running SQL*Module.

Action: Check that all database objects are valid. To get more information, rerun SQL*Module with OUTPUT=PACKAGE, and check the output PL/SQL code specification file (it has a .pks extension). See the PL/SQL User's Guide and Reference for more information.

MOD-00061: PL/SQL error in compiling package body

Cause: A semantic error occurred in the PL/SQL parse phase when running SQL*Module.

Action: Check that all database objects are valid. To get more information, rerun SQL*Module with OUTPUT=PACKAGE, and check the output PL/SQL code file (it has a .pkb extension). See the PL/SQL User's Guide and Reference for more information.

MOD-00062: host variable for indicator is not recognized

Cause: A host variable that was used as an indicator variable was not declared.

Action: Declare the host variable or, if possible, remove the indicator variable from the SQL statement.

MOD-00063: procedure name, parameter param: illegal interface type type

Cause: When attempting to generate an interface procedures (stubs) file, the WITH INTERFACE PROCEDURE clause in the referenced stored package or stored procedure contained a parameter having an illegal datatype.

Action: Correct the datatype. Datatypes in a WITH INTERFACE clause must be SQL datatypes, not PL/SQL datatypes.

MOD-00064: procedure name: extra parameter param in interface

Cause: An unused parameter was declared in the WITH INTERFACE clause of a stored package or a stored procedure.

Action: Correct the WITH INTERFACE clause in the package.

MOD-00065: interface definition missing for procedure name

Cause: An attempt was made to generate stubs for a package that does not contain a WITH INTERFACE clause for one or more procedures.

Action: Add the WITH INTERFACE clause to the package spec.

MOD-00066: unable to load package name from database

Cause: The package name that was specified using the PNAME option is not correct, or SQL*Module could not access the database schema required.

Action: Check that the specified package exists and has a valid status. Check the STATUS column of the USER_OBJECTS table for that schema to check that the package is valid.

MOD-00067: package name is required but not specified

Cause: The options and values RPC_GENERATE=YES and STORE_PACKAGE=YES were specified, but a package name using the PNAME option was not specified.

Action: Add the PNAME option.

MOD-00068: could not find or open system configuration file

Cause: This is a warning message. SQL*Module is not able to find the system configuration file or is not able to open the file. The location of the system configuration file is system specific. See your operating system-specific documentation for the location on your system.

Action: Check that the file exists and that read permission or the appropriate access rights are set for it. The file must exist to avoid this warning message; however, it can be empty.

MOD-00069: Oracle error N while attempting to store package

Cause: SQL*Module's attempt to store the package in the database failed.

Action: Look up the error number in this manual and correct the problem.

MOD-00070: procedure name interface is missing declaration for indvar

Cause: An indicator variable was specified in the WITH INTERFACE clause, but the associated main variable was not declared there.

Action: Modify the WITH INTERFACE clause. Either remove the indicator variable or declare a host variable for it.

MOD-00072: PNAME option is specified but not meaningful

Cause: The PNAME option was used when there was no need for it. The PNAME option is only required when you specify RPC_GENERATE, STORE_PACKAGE, or both.

Action: Correct the command line.

MOD-00073: INAME option is specified but not meaningful

Cause: The INAME option was used when it was not required. For example, INAME is not required when RPC_GENERATE=YES and the PNAME option are specified.

Action: Do not use the INAME option.

MOD-00074: ONAME option is specified but not meaningful

Cause: The ONAME option was used when it was not required. For example, the ONAME option is not required when RPC_GENERATE=NO, and STORE_PACKAGE=YES, or the OUTPUT values list does not contain the CODE value.

Action: Do not use the ONAME option.

MOD-00075: error at line N. PLS-N: text

Cause: A semantic error occurred in the PL/SQL parse phase when running SQL*Module.

Action: Check that all database objects are valid. To get more information, rerun SQL*Module with OUTPUT=PACKAGE, and check the output PL/SQL code file (it has a .pkb extension). See the PL/SQL User's Guide and Reference for more information.

MOD-00076: ANSI violation at line N. PLS-N: text

Cause: FIPS=YES was specified and part of the module code is not compliant with the ANSI SQL92 Entry Level standard.

Action: Specify FIPS=NO (the default) or correct the code.

MOD-00077: mandatory parameter SQLCODE or SQLSTATE is missing

Cause: Include a status parameter - SQLCODE, SQLSTATE, or both - in every parameter definition.

Action: Include SQLCODE or SQLSTATE.

MOD-00078: must specify a user if generating stubs from stored package

Cause: Because no USERID was specified, SQL*Module cannot connect to the server to create stubs (an interface procedures file) from the stored package.

Action: Specify the service name (if not connecting to the default database), and the username and password. Do this either on the command line or in a configuration file.

MOD-00079: SQLCHECK must be SEMANTICS when RPC_GENERATE=yes

Cause: SQLCHECK=SYNTAX (or SQLCHECK=NONE) cannot be specified when creating a stubs file.

Action: Remove the SQLCHECK=SYNTAX or SQLCHECK=NONE specification from the command line or the configuration file.

MOD-00080: error extracting stored package source.

Cause: OUTPUT=PACKAGE was requested on the command line or in a configuration file, and a package of the name specified does not exist in the schema or is marked as INVALID.

Action: Check that the named package exists and is valid.

MOD-00081: failed assertion

Cause: Some part of the input to SQL*Module caused an error or warning condition. This message always follows a specific error or warning message.

Action: No action required for this message. Correct the previous errors.

MOD-00086: error: couldn't install username. Aborted...

Cause: The server rejected a username.

Action: If the username is valid, contact customer support.

MOD-00088: feature not implemented yet

Cause: SQL*Module encountered a SQL statement that it can compile, but that uses a feature not yet implemented.

Action: Contact Oracle Languages Product Management.

MOD-00093: SNAME option is specified but not meaningful

Cause: The SNAME option was used when it was not required. For example, no SNAME option is required if the values list of the OUTPUT option does not include the value SPECIFICATION.

Action: Do not use the SNAME option.

MOD-00094: extension in PNAME option is specified but not meaningful

Cause: A filename extension was included in the value of a PNAME option. Packages are database objects, not files.

Action: Remove the extension.

MOD-00095: datatype "X" is not valid for the host language

Cause: A datatype was used that is not supported for the host language. For example, NUMERIC is not a supported datatype for Ada and C.

Action: Refer to the Programmer's Guide to the Oracle Precompilers for a list of the datatypes supported in each host language.

MOD-00096: LNAME option is specified but not meaningful

Cause: The OUTPUT option list does not contain the value LIST.

Action: Add LIST to the list of values of the OUTPUT option.

MOD-00097: WITH INTERFACE must be specified for this host language

Cause: A PL/SQL package or function specification did not have a WITH INTERFACE clause. Currently, MODADA requires the WITH INTERFACE clause to be present in order to create calls to a PL/SQL function or package.

Action: Rewrite PL/SQL package or function specification to include a WITH INTERFACE clause. Alternatively, write a PL/SQL package or function specification which has a WITH INTERFACE clause and have it call the original PL/SQL package.

MOD-00098: WITH INTERFACE may only be defaulted when bind=late

Cause: A Command line option, "bind=early" was specified while creating calls to a PL/SQL package or function without a WITH INTERFACE clause.

Action: Change the command line option to "bind=late", or include a WITH INTERFACE clause in the PL/SQL specification (see error 97 action).

MOD-00099: type name is invalid when storing a module (store=yes)

Cause: The module contained a type for which there is currently no equivalent PL/SQL type; it may not be stored in the database.

Action: Set the command line option to STORE=NO or move the procedures containing the offending type to another module and compile that module with STORE=NO.




Prev

Next
Oracle
Copyright © 1997 Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index