Oracle8i SQLJ Developer's Guide and Reference
Release 8.1.5

A64684-01

Library

Product

Contents

Index

Prev  Chap Top Next

Translation Time Messages

This section provides a list of error messages you may encounter from the SQLJ translator, including cause and action information.


Note:

By enabling the SQLJ translator -explain flag, you can instruct the translator to provide "cause" and "action" information in real-time with its error message output. This is the same information that is provided in the error list below. See "Cause and Action with Translator Errors (-explain)".  


<<<NEW SQL>>>

Cause: The Oracle customizer translated a SQL operation into an Oracle-specific dialect, as shown in the remainder of the message. Messages of this nature are enabled with the Oracle customizer "showSQL" option.

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

[Connecting to user user at connection]

Cause: Informs user that SQLJ connects as user user to the database with URL connection.

[Preserving SQL checking info]

Cause: SQLJ will preserve analysis information obtained from online checking during this run.

[Querying database with "sqlquery"]

Cause: Informs user that database query was issued.

[Re-using cached SQL checking information]

Cause: Informs user that SQLJ is reusing cached analysis results from previous online checking runs.

[Registered JDBC drivers: class]

Cause: Lists the JDBC drivers that have been registered.

[SQL checking: read m of n cached objects.]

Cause: Analysis information cached from online checking has been retrieved.

[SQL function call "sqlj call" transformed into ODBC syntax "jdbc call"]

Cause: Informs user that SQLJ has converted SQLJ function call syntax to JDBC function call syntax.

A call to a stored function must return a value.

Cause: User ignores result returned by a stored function call.

A call to a stored procedure cannot return a value.

Cause: User tries to retrieve a return value from a stored procedure invocation.

A non-array type cannot be indexed.

Cause: Only array types can be used as the base operand of array access operator ('[]').

Action: Check the type of the base operand.

A SQL quote was not terminated.

Action: Insert the terminating " or '.

Access modifiers modifier1 and modifier2 are not compatible.

Cause: Named access modifiers cannot be applied to the same class, method, or member. For example, private and public are incompatible as access modifiers.

Action: Change or remove one of the conflicting access modifiers.

Ambiguous column names columns in SELECT list.

Cause: You may not use column names that are only distinguished by case.

Action: Use column aliases to distinguish column names.

Ambiguous constructor invocation.

Cause: More than one constructor declaration matches the arguments after standard conversions.

Action: Indicate with explicit cast which constructor argument types should be used.

Ambiguous method invocation.

Cause: More than one overloaded method declaration matches the arguments after standard conversions.

Action: Indicate with explicit cast which method argument types should be used.

an io error occured while generating output: message

Action: Ensure that you have appropriate permissions and sufficient space for SQLJ output.

Anonymous classes are not allowed in bind expressions.

Cause: Host expressions cannot contain anonymous classes.

Action: Move the expression that has anonymous class outside the #sql statement and store its value to a temporary variable of the correct type; then use that temporary variable in the host expression instead.

Argument #n of name must be a host variable, since this argument has mode OUT or INOUT.

Cause: Modes OUT and INOUT require the presence of variables or assignable expressions (such as array locations) in this argument position.

Argument #n of name requires mode IN.

Cause: The stored procedure or function name requires that the mode of the host expression #n be IN.

Action: Declare the host expression in the SQLJ statement as IN.

Argument #n of name requires mode INOUT.

Cause: The stored procedure or function name requires that the mode of the host expression #n be INOUT.

Action: Declare the host expression in the SQLJ statement as INOUT.

Argument #n of name requires mode OUT.

Cause: The stored procedure or function name requires that the mode of the host expression #n be OUT.

Action: Declare the host expression in the SQLJ statement as OUT.

Argument #pos is empty.

Cause: In the argument list of a stored function or procedure, you left the argument at position pos empty. For example: proc(1, ,:x).

Action: Replace the empty argument with a host expression or a SQL expression.

Arithmetic expression requires numeric operands.

Cause: Both the left-hand side and the right-hand side of an arithmetic operation must have numeric types.

Action: Correct the types of the operands.

Array index must be a numeric type.

Cause: Array objects can only be indexed using a numeric index.

Action: Correct the type of the index operand.

Attributes attribute1 and attribute2 are not compatible.

Cause: The named attributes cannot be applied to the same class or method. For example, abstract and final are incompatible as attributes.

Action: Change or remove one of the conflicting attributes.

auditing layer added

Cause: An auditing customization was installed into the profile being customized.

Action: The profile will include audit calls when used. No further action required. Use the "uninstall" option to remove the auditor.

auditing layer removed

Cause: The last auditing customization previously installed into the profile was removed. If multiple auditors were installed, only the last to be installed is removed.

Action: Further "uninstall" calls may be required if you want to remove additional auditors.

backup created as filename

Cause: A backup file for the profile was created with the name filename. The backup file contains the original profile before customization.

Action: No further action required. The original profile can be restored by copying the backup file over the new profile.

bad filename: filename

Cause: The file filename could not be used as input to the customizer harness utility. Only filenames with ".ser" or ".jar" extensions are supported.

Action: Rename the file to have an accepted extension.

Bad octal literal 'token'.

Cause: A numeric literal beginning with digit '0' is interpreted as an octal, and hence must not contain digits '8' or '9'.

Action: Modify the bad literal. If octal was intended, recalculate its value in base-8. If decimal was intended, remove all leading zeroes.

Badly placed #sql construct -- not a class declaration.

Cause: An executable SQLJ statement appears where a declaration was expected.

Action: Move the #sql construct to a legal position.

Bitwise operator requires boolean or numeric operands.

Cause: Bitwise operator can only operate on objects both of which are either boolean or numeric. A bitwise operation between two objects from different categories will fail.

Action: Check the types of operands.

Boolean operator requires boolean operands.

Cause: Boolean operators can only operate with boolean arguments.

Action: Check the types of operands.

cannot access option option name

Cause: The option named option name was not accessible to the customizer harness. This often indicates a non-standard customizer-specific option.

Action: Verify the intended use of the option. As a workaround, discontinue use of the option or use a different customizer.

Cannot analyze SQL statement online: unable to determine SQL types for count host items.

Cause: SQLJ determines a corresponding SQL type for each of the Java host expressions. These SQL types are required for checking the statement online.

Action: Use Java types that are supported by Oracle SQLJ.

Cannot determine default arguments for stored procedures and functions. May need to install SYS.SQLJUTL.

Cause: SQLJ cannot find the functions declared in the package SYS.SQLJUTL.

Action: Find the SQL file [Oracle Home]/sqlj/lib/sqljutl.sql and run it. Alternatively, if your stored functions or procedures do not use default arguments, you can ignore this message.

Cannot load JDBC driver class class.

Action: Check the name of the JDBC driver class.

cannot remove java file without first compiling it

Cause: The "nc" and "rj" options were specified at the same time to the profile conversion utility. The utility is unable to remove the Java file if it has not been compiled into a class file.

Action: Use only one of the "nc" and "rj" options.

Cannot resolve identifier because the enclosing class has errors.

Cause: Class that contains errors cannot be used in name resolution because access rights can be assigned to complete classes only.

Action: Fix the enclosing class, paying attention to correct spelling of base types, field types, method argument types and method return types. Also make sure that any external classes that are referenced by their base name only have been imported.

cannot specify both option name and option name options

Cause: Two incompatible options were specified at the same time to the profile conversion utility.

Action: Use only one of the specified options.

Class class does not implement the checker interface.

Cause: Checkers must implement sqlj.framework.checker.SQLChecker.

class cannot be constructed as an iterator: class name

Cause: The iterator class class name used in this SQL operation did not have the expected constructor. This indicates an iterator generated by a non-standard translator.

Action: Retranslate the iterator declaration using a standard translator.

class has already been defined: classname

Cause: Ensure that the class classname is only defined in one of the source files that you pass to SQLJ.

class implements both sqlj.runtime.NamedIterator and sqlj.runtime.PositionedIterator: class name

Cause: It could not be determined if the iterator class class name used in this SQL operation was a named iterator or positional iterator. This indicates an iterator that was generated by a non-standard translator or included an erroneous interface in its implements clause.

Action: Verify that the implements clause of the iterator declaration does not contain one of the problematic interfaces. Retranslate the iterator declaration using a standard translator.

Column javatype column not found in SELECT list.

Action: The column column could not be found in the result set returned by the query. Either fix the iterator declaration, or the SELECT statement, possibly by using an alias.

Column name1 #pos1 will cause column name2 #pos2 to be lost. Use a single stream column at the end of the select list.

Cause: You can have at most one stream column in a positional iterator, and this column must be the last one in the iterator.

Action: Move the stream column to the last position in the iterator. If you have more than one stream column, you can use a named iterator, ensuring that the stream columns (and other columns) are accessed in order.

Column type column is not compatible with database type sqltype

Cause: The Java and SQL types are not compatible.

Comparison operator requires numeric operands.

Cause: Only numeric values are meaningful in an operation that compares magnitudes.

Action: Check the types of operands.

compatible with the following drivers:

Cause: The Oracle customizer "compat" option was enabled. A list of Oracle JDBC driver versions that may be used with the current profile follows this message.

Action: Use one of the listed JDBC driver versions to run the program.

compiling filename

Cause: The profile in file filename was compiled into class file format by the profile conversion utility.

Action: No further action required.

Complement operator requires integral operand.

Cause: Only an integral value can be complemented bitwise.

Action: Check the types of operands.

Conditional expression requires boolean for its first operand.

Cause: Conditional expression uses its first operand to choose which one of the other two shall be executed; hence the first operand must have a boolean type.

Action: Check the type of the first operand.

Conditional expression result types must match.

Cause: The value of conditional expression is either its second or its third operand, both of which must be either boolean or numeric types, or object types at least one of which is assignable to the other.

Action: Check the types of operands.

Connection context expression does not have a Java type.

Cause: No valid Java type could be derived for your connection context expression.

Connection context must have been declared with #sql context ... It can not be declared as a ConnectionContext.

Action: Declare your connection context type with #sql context ConnectionContext;

ConnectionContext attribute attribute is not defined in the SQLJ specification.

Action: The with-clause attribute attribute is not explicitly part of the SQLJ specification. Check the spelling of your attribute name.

ConnectionContext cannot implement the interface interface.

Cause: In your SQLJ context declaration you specified an implements clause with the interface interface. However, connection contexts do not implement this interface.

Constructor not found.

Cause: The constructor that was invoked does not exist.

Action: Check the constructor arguments, or add a constructor with the desired arguments.

Context context ignored in FETCH statement.

Cause: Since a context is associated with a cursor object at the initialization of a cursor with a query, context information in FETCH statements is superfluous, and will be ignored by SQLJ.

converting profile filename

Cause: The profile in file filename was converted from serialized to Java source file format by the profile conversion utility.

Action: No further action required.

Cursor has item count items. Argument #pos of INTO-list is invalid.

Cause: Your INTO-list has more elements than the corresponding positional iterator from which you are fetching.

Action: Remove the extra INTO-list elements.

Cursor type in FETCH statement does not have a Java type.

Cause: No valid Java type could be derived for the iterator expression in the FETCH statement.

customized

Cause: The profile was successfully customized.

Action: No further action required.

customizer does not accept connection: connection url

Cause: The connection specified by connection url was established, but was either not needed or not recognized by the current customizer.

Action: Verify that the current customizer requires a connection. If not, omit the "user" option from the customizer harness. If so, verify that the database and schema connected to are compatible with the customizer.

Database error during signature lookup for stored procedure or function name: message

Cause: An error occurred when SQLJ tried to determine the existence and the signature of the function or procedure name.

Action: As a workaround you can translate your SQLJ program offline.

Database issued an error: error.

Cause: Database issued error when parsing a SQL statement against the exemplar schema.

Action: Check the validity of the SQL statement.

Database issued an error: error sqltext

Cause: Database issued an error when parsing the SQL statement against the exemplar schema.

Action: Check the validity of the SQL statement.

deleting filename

Cause: The intermediate file filename was removed by the profile conversion utility.

Action: No further action required.

Did not find a stored procedure or function name with n arguments.

Cause: No procedure or function name with n arguments appears in the database.

Action: Check the name of your stored procedure or function.

Did not find a stored procedure or function name with n arguments. found functions/procedures with different numbers of arguments

Cause: No procedure or function name with n arguments appears in the database. However, there is a procedure or function of this name with a different number of arguments.

Action: Check the name of your stored procedure/function, as well as for extraneous or missing arguments.

Did not find stored function name with n arguments.

Cause: SQLJ could not find a stored function of the desired name name.

Action: Check the name of your stored function.

Did not find stored function proc with n arguments. found functions/procedures with different numbers of arguments

Cause: No stored function proc with n arguments appears in the database. However, there is a procedure or function of this name with a different number of arguments.

Action: Check the name of your stored function, as well as for extraneous or missing arguments.

Did not find stored procedure name with n arguments.

Cause: SQLJ could not find a stored procedure of the desired name name.

Action: Check the name of your stored procedure.

Did not find stored procedure proc with n arguments. found functions/procedures with different numbers of arguments

Cause: No stored procedure proc with n arguments appears in the database. However, there is a procedure or function of this name with a different number of arguments.

Action: Check the name of your stored procedure, as well as for extraneous or missing arguments.

Do not know how to analyze this SQL statement.

Cause: An online connection is required to help SQLJ analyze this statement.

Do not understand this statement.

Cause: Unable to identify this statement, since it does not start with a SQL keyword (SELECT, UPDATE, DELETE, BEGIN, ...) or a SQLJ keyword (CALL, VALUES, FETCH, CAST, ...).

Duplicate access modifier.

Cause: The same access modifier appears more than once for the same class, method or member.

Action: Remove the superfluous access modifier.

Duplicate method method.

Cause: The method method was declared more than once.

Duplicate methods method1 and method2.

Cause: Methods method1 and method2 map to the same SQL name. You cannot have two methods that map to the same SQL name in a named iterator declaration.

Equality operator operand types must match.

Cause: Equality operator can only compare objects both of which are either boolean or numeric types, or object types at least one of which is assignable to the other.

Action: Check the types of the operands to the equality operator.

error converting profile: filename

Cause: An error occurred while converting the profile in file filename from serialized to class file format. Details of the error were listed after this message.

Action: Consult the error details and fix as appropriate.

Error in Java compilation: message

Cause: An error occurred when SQLJ was invoking the Java compiler to compile .java source files.

Action: Ensure that the correct Java compiler is specified in the -compiler-executable flag, and that the compiler can be found on the PATH. Alternatively, you can use the -passes option, so that your Java compiler is called from the commandline rather than from SQLJ.

error loading customizer harness

Cause: The customizer harness utility could not be properly initialized. This indicates an incompatible Java runtime environment.

Action: Verify that the Java runtime environment is compatible with JRE 1.1 or later.

Expected "token1" and found "token2" instead.

Cause: The syntax of this statement requires a terminating token token1 which was not found.

Expected 'FROM' to follow 'SELECT ... INTO ...'

Cause: The SELECT statement syntax is incorrect.

Action: Add FROM clause after the INTO clause.

Expected cast to be assigned to an iterator, found that cast was assigned to type.

Cause: The the left-hand-side of the CAST assignment must be a SQLJ iterator instance, not an expression of type type.

Expected cast to be assigned to an iterator.

Cause: The SQLJ CAST statement must be an assignment statement, with the left-hand-side of the assignment being a SQLJ iterator instance.

Expected cursor host variable.

Cause: A host variable representing an iterator type was expected here.

Expected cursor host variable. Encountered: "token"

Cause: A host variable representing an iterator type was expected here.

Expected end of cast statement. Found "token" ...

Cause: An unexpected token token was found after the CAST statement.

Expected end of FETCH statement. Encountered: "token"

Cause: No further tokens were expected in this FETCH statement.

Expected host variable of type java.sql.ResultSet, found "token" ...

Cause: You did not specify a host variable after the CAST keyword.

Expected host variable of type java.sql.ResultSet, found host variable of invalid Java type.

Cause: No valid Java type could be derived for the host expression.

Expected host variable of type java.sql.ResultSet, found host variable of type type.

Cause: The host expression has the Java type type, not java.sql.ResultSet as required.

Action: Use a host expression of type java.sql.ResultSet. If necessary, you can cast the expression to this type using a Java cast.

Expected host variable of type java.sql.ResultSet.

Cause: The SQLJ CAST statement assigns a java.sql.ResultSet to an iterator type. The type you are trying to convert is not a java.sql.ResultSet.

Action: You must use a host expression of type java.sql.ResultSet. If necessary, you can cast the expression to this type using a Java cast.

Expected INTO bind expression.

Cause: This statement should have a list of one or more INTO host expressions.

expected ODBC function call syntax "{ call func(...) }".

Cause: Invalid use of the JDBC escape syntax for calling stored procedures.

Expected stored function name. Found: token

Cause: The name of a stored function was expected here instead of the token token.

Expected stored function or procedure name. Found: token

Cause: The name of a stored function or a stored procedure was expected here instead of the token token.

Expected stored procedure name. Found: token

Cause: The name of a stored procedure was expected here instead of the token token.

Expected: FETCH :cursor INTO ...

Cause: The FETCH statement must have a cursor host variable, from which values are to be fetched.

Expected: WHERE CURRENT OF :hostvar. Found: WHERE CURRENT token ...

Action: Use proper syntax in the WHERE CURRENT OF clause.

Expected: WHERE CURRENT OF :hostvar. Found: WHERE CURRENT OF token ...

Action: Use proper syntax in the WHERE CURRENT OF clause.

field "field name" in class name is not a class name type

Cause: The field named field name in custom datum class class name did not have the expected type class name. A field of this type is required for proper conversion of the class to and from Oracle database types.

Action: Declare field field name to be the indicated type in the custom datum class.

field "field name" in class name is not accessible

Cause: The field named field name was not public in custom datum class class name. It is required for proper conversion of the class to and from Oracle database types.

Action: Declare field field name as public in the custom datum class.

field "field name" in class name is not uniquely defined

Cause: More than one field named field name was found in custom datum class class name. This can occur if field name is defined in two different interfaces that are both implemented by class name. A uniquely defined field is required for proper conversion of the class to and from Oracle database types.

Action: Update the custom datum class so that field name is defined only once.

field "field name" not found in class name

Cause: A field named field name could not be found in custom datum class class name. It is required for proper conversion of the class to and from Oracle database types.

Action: Declare the required field in the custom datum class.

Field not accessible.

Cause: This class has no access to the field.

Action: Check that the access rights of the field are set correctly.

file too large

Cause: A profile file contained in a JAR file was too large to be customized.

Action: Extract and customize the profile as a single file rather than as part of a JAR file.

filename must be a valid java identifier: filename

Cause: The filename is an illegal Java identifier. SQLJ creates additional class and resource definitions based on the name of the input file, so the name must be able to be used as a Java identifier.

Action: Rename the file so that it can be used as a Java identifier.

found incompatible types

Cause: The profile contained a combination of types that could not be supported by any one Oracle JDBC driver.

Action: Remove incompatible types from the program. Incompatible types are included in the types listed by the "summary" option.

Host item #n cannot be OUT or INOUT.

Cause: The host item at position #n is embedded in a SQL expression that constitutes an argument to a stored procedure or function. This argument position therefore must have the mode IN. This message is also given if you bind arguments by name.

Action: Change the mode of the argument to IN. If you are binding an OUT or INOUT argument by name, you should ignore this message.

Host item #pos must be an lvalue.

Cause: The OUT or INOUT host expression at position pos must be an assignable expression. Java variables, fields, and array elements are assignable expressions.

Host item name (at position #n) cannot be OUT or INOUT.

Cause: The host item name at position #n is embedded in a SQL expression that constitutes an argument to a stored procedure or function. This argument position therefore must have the mode IN. This message is also given if you bind arguments by name.

Action: Change the mode of the argument to IN. If you are binding an OUT or INOUT argument by name, you should ignore this message.

Identifier identifier may not begin with __sJT_.

Action: Ensure that you do not use identifiers that start with __sJT_.

ignoring context name context name

Cause: A profile was found with an associated connection context named context name. Since this context was not included in the customizer harness "context" option list, this profile was not customized.

Action: Rerun the customizer harness with a "context" setting that includes the named context, if desired.

Illegal entry for option option. Expected a boolean value, received: "value"

Action: Use a boolean value for option (such as true, false, yes, no, 0, 1).

Illegal INTO ... bind variable list: error.

Cause: One or more components of the INTO list do not have a valid Java type.

Illegal Java type in cursor for WHERE CURRENT OF

Cause: No valid Java type could be derived for the iterator in the WHERE CURRENT OF clause.

Illegal token 'token' will be ignored.

Cause: Source file contains a sequence of characters that cannot be matched to any Java token.

Action: Modify the source file to fix the error and verify the source file contains valid Java source code.

illegal value: option setting

Cause: An option was set to a value that was out of range or invalid.

Action: Consult the message detail and correct the option value accordingly.

IN mode is not allowed for INTO-variables.

Cause: INTO variables return values in Java.

Action: Use OUT instead (which is the default, so if you want you can omit the specifier altogether).

Inaccessible Java type for host item #n: type.

Cause: The Java class type is not a publicly visible class, and thus cannot be instantiated by a driver.

Action: Use a public Java type in the host expression.

Inaccessible Java type for host item name (at position #n): type.

Cause: The host expression name has Java type type, which is not publicly visible, and thus cannot be instantiated by a driver.

Action: Use a public Java type in the host expression.

Inaccessible Java type for item #pos of INTO-list: type.

Cause: The Java class type of INTO-list item pos is not a publicly visible class, and thus cannot be instantiated by a driver.

Action: Use a public Java type in the INTO-list.

Increment/decrement operator requires numeric operand.

Cause: Increment and decrement operators can only operate on integer values.

Action: Check the type of the operand.

Initialization lists are not allowed in bind expressions.

Cause: Host expressions cannot have initialization lists.

Action: Move the expression that uses initialization list outside the #sql statement and store its value to a temporary variable of the correct type; then use that temporary variable in the host expression instead.

INOUT mode is not allowed for INTO-variables.

Cause: INTO variables return values in Java.

Action: Use OUT instead (which is the default, so if you want you can omit the specifier altogether).

Instanceof operator requires an object reference operand.

Cause: Instanceof operator can only operate on objects.

Action: Check the type of the operand.

INTERNAL ERROR SEM-label. Should not occur - please notify.

Action: Notify Oracle of the error message.

INTO-list item #position must be an lvalue.

Cause: The elements of an INTO-list must be assignable expression. Java variables, fields, and array elements are assignable expressions.

INTO-lists may only occur in SELECT and FETCH statements.

Cause: No INTO... bind list is permitted in the current SQL statement.

Invalid bind variable or expression.

Cause: A bind variable (i.e., host variable, context expression, or iterator expression when used to store the return value of a query) is not legal Java syntax.

Action: Fix the host variable or expression.

Invalid cursor type in FETCH statement: type.

Action: Iterator in the FETCH statement must implement sqlj.runtime.FetchableIterator.

Invalid CustomDatum implementation in type: mesg

Cause: You are employing a user-defined Java type type that implements the oracle.sql.CustomDatum interface. However, your type does not meet all of the requirements placed on user-defined type, as indicated by the message detail.

Action: Remedy the problem in your user-defined type. Alternatively, you may want to use the jpub utility to generate your user-defined type.

Invalid iterator declaration.

Cause: There is a syntax error in the SQL declaration.

Action: Check the SQL declaration syntax.

Invalid Java type for host item #n.

Cause: No valid Java type could be derived for host expression #n.

Invalid Java type for host item #n: error.

Cause: No valid Java type could be derived for host expression #n.

Invalid Java type for host item name (at position #n).

Cause: No valid Java type could be derived for host expression name (at position #n).

Invalid Java type for host item name (at position #n): error.

Cause: No valid Java type could be derived for host expression name (at position #n).

Invalid Java type for item #pos of INTO-list: type.

Cause: No valid Java type could be derived for INTO-item #pos: type.

invalid option "option name" set from option origin: problem description

Cause: The option option name had an invalid value.

Action: Correct the option value as needed for problem description.

invalid option: option setting

Cause: The option given by option setting was not recognized by the customizer harness.

Action: Correct or remove the unknown option.

invalid profile name: profile name

Cause: The JAR file MANIFEST file contained a SQLJ profile entry that was not contained in the JAR file.

Action: Add the named profile to the JAR file, or remove its entry from the MANIFEST file.

Invalid SQL iterator declaration.

Cause: An instance of a declared SQLJ type cannot be fully manipulated, because its declaration contains errors or ambiguities.

Action: Check the SQL iterator declaration, paying attention to the types that appear in the iterator column type list, and that those types are imported if they are referred to using their base name only.

Invalid SQL string.

Cause: There is a syntax error in the SQL statement.

Action: Check the SQL statement syntax, paying attention especially to missing delimiters (for example, closing parenthesis, braces, and brackets; quotation marks; comment delimiters, etc.).

Invalid type cast

Cause: An object cannot be cast to the indicated type.

Action: Check the type of the operand.

Item #pos of INTO-list does not have a Java type.

Cause: No valid Java type could be derived for INTO-item #pos.

iterator class name must implement either sqlj.runtime.NamedIterator or sqlj.runtime.PositionedIterator

Cause: The iterator class class name used in this SQL operation was neither a named iterator nor a positional iterator. This indicates an iterator that was generated by a non-standard translator.

Action: Retranslate the iterator declaration using a standard translator.

Iterator attribute attribute is not defined in the SQLJ specification.

Action: The with-clause attribute attribute is not explicitly part of the SQLJ specification. Check the spelling of your attribute name.

Iterator with attribute updateColumns must implement sqlj.runtime.ForUpdate

Action: Specify the implements-clause: implements sqlj.runtime.ForUpdate in your iterator declaration.

JAR does not contain MANIFEST file

Cause: A JAR file did not contain a MANIFEST file. The MANIFEST file is required to determine the profiles contained in the JAR file.

Action: Add a MANIFEST to the JAR file. The MANIFEST should include the line "SQLJProfile=TRUE" for each profile contained in the JAR file.

JAR MANIFEST file format unknown

Cause: A JAR file could not be customized because the JAR MANIFEST file was written using an unknown format.

Action: Recreate the JAR file with a MANIFEST file formatted according the JDK manifest file format specification. MANIFEST files created using the jar utility conform to this format.

Java type javatype for column column is illegal.

Cause: No valid Java class declaration could be found for javatype.

Java type type of iterator for WHERE CURRENT OF is not supported. It must implement sqlj.runtime.ForUpdate.

Cause: The iterator in the WHERE CURRENT OF clause must be declared as implementing the interface sqlj.runtime.ForUpdate.

JDBC does not specify that column column type is compatible with database type sqltype. Conversion is non-portable and may result in a runtime error.

Action: For maximum portability to different JDBC drivers, you should avoid this conversion.

JDBC reports a mode other than IN/OUT/INOUT/RETURN for name in position n.

Cause: Your JDBC reports an unknown mode for an argument of a stored procedure or function.

Action: Ensure that the stored function or procedure has been properly defined. Possibly update your JDBC driver.

JDBC reports an error during the retrieval of argument information for the stored procedure/function name: error.

Action: Because of the error, the modes for this function or procedure could not be determined. Repeat translation or translate offline if error persists.

JDBC reports more than one return value for name.

Cause: Your JDBC driver erroneously reports multiple return arguments for a stored procedure or function.

Action: Update your JDBC driver.

JDBC reports the return value for function in position pos instead of position 1.

Cause: Your JDBC driver does not properly report the return argument of a stored function first.

Action: Update your JDBC driver.

Left hand side of assignment does not have a Java type.

Cause: No valid Java type could be derived for the left-hand-side expression of the assignment statement.

list item value may not be empty

Cause: A list-valued option such as "driver" or "context" included an empty list item.

Action: Remove the empty item from the list.

Loss of precision possible in conversion from sqltype to column column type.

Cause: Conversion from a numeric SQL value to Java may result in a loss of precision.

Method name method is reserved by SQLJ.

Cause: SQLJ pre-defines several methods on iterators. You cannot use these names in your own methods.

Method not accessible.

Cause: This class has no access to the method.

Action: Check that the access rights of the method are set correctly.

Method not found.

Cause: The method does not exist.

Action: Check the method arguments, or add an overloaded method with the desired arguments.

Missing count elements in INTO list: types

Cause: The FETCH statement has fewer columns on the fetch cursor than required by the INTO bind variable list.

Missing closing ")" on argument list of stored procedure/function call.

Action: The argument list should be terminated with a ")".

Missing colon.

Cause: There was no colon where one was expected.

Action: Add the missing colon.

Missing comma.

Cause: There was no comma where one was expected.

Action: Add the missing comma.

Missing curly brace.

Cause: There was no opening curly brace where one was expected.

Action: Add the missing opening curly brace.

Missing dot operator.

Cause: There was no dot operator where one was expected.

Action: Add the missing dot operator.

Missing element in INTO list: element

Action: You must add element to the INTO list.

Missing equal sign in assignment.

Cause: A Java expression is in position of a return variable, but no equal sign follows the expression as required by assignment syntax.

Action: Add the missing assignment operator.

Missing parenthesis.

Cause: There was no opening parenthesis where one was expected.

Action: Add the missing opening parenthesis.

Missing semicolon.

Cause: There was no semicolon where one was expected.

Action: Add the missing semicolon.

Missing square bracket.

Cause: There was no opening square bracket where one was expected.

Action: Add the missing opening square bracket.

Missing terminating "token".

Cause: No matching token token was found in the SQL statement.

Mode of left-hand-side expression in SET statement was changed to OUT.

Cause: In a SET :x = ... statement you specified the mode of the host expression x as IN or INOUT. This is incorrect.

Action: Either omit the mode, or specify the mode as OUT.

Modifier modifier not allowed in declaration.

Cause: Not all modifiers are permitted in a SQLJ class declaration.

Modifier modifier not allowed in top-level declarations.

Cause: Not all modifiers are permitted in a SQLJ class declaration.

More than one INTO ... bind list in SQL statement.

Action: Eliminate superfluous INTO ... bind lists.

moving original filename to new filename

Cause: A backup of the profile was created by the profile conversion utility. The backup file is named new filename.

Action: No further action required.

Name 'illegal identifier' cannot be used as an identifier.

Cause: The string 'illegal identifier' cannot be used as an identifier because it represents some other language element (for example, operator, punctuation, control structure, etc.).

Action: Use some other name for the identifier.

Negation operator requires boolean operand.

Cause: Negation operator can operate only on a boolean operand.

Action: Check the type of the operand.

No ";" permitted after stored procedure/function call.

Cause: SQLJ does not permit a terminating semicolon after a stored procedure or function invocation.

No connect string specified for context context.

Cause: No JDBC connection URL was given for context.

Action: Specify a JDBC URL in the -url@context option, or in the -user@context option.

No connect string specified.

Cause: No JDBC connection URL was given.

Action: Specify a JDBC URL in the -url option, or in the -user option.

No connection specified for context context. Will attempt to use connection defaultconnection instead.

Cause: If no explicit connection information is given for the online checking of context, SQLJ will use the values for the default online exemplar schema.

no customizer specified

Cause: Profile customization was requested but no customizer was specified.

Action: Set the profile customizer using the "customizer" or "default-customizer" option.

No instrumentation: class already instrumented.

Cause: This class file was already instrumented with the source locations from the original .sqlj file.

No instrumentation: no line info in class.

Cause: This class file does not have any line information and thus cannot be instrumented. Most likely, this happened because you used the -O (optimize) flag to the Java compiler, which will strip line information from the class file.

No INTO variable for column #pos: "name" type

Cause: In a SELECT-INTO statement, the column name at position pos of type type does not have a corresponding Java host expression.

Action: Either expand your INTO-list, or change your SELECT statement.

No offline checker specified for context context.

Cause: No offline analysis can be performed for context.

No offline checker specified.

Cause: No offline analysis can be performed.

No online checker specified for context context. Attempting to use offline checker instead.

Cause: The context will be checked offline, even though online checking was requested.

No online checker specified. Attempting to use offline checker instead.

Cause: Offline checking will be performed, even though online checking was requested.

No SQL code permitted after stored procedure/function call. Found: "token" ...

Cause: SQLJ does not permit additional statements after a stored procedure or function invocation.

No suitable online checker found for context context. Attempting to use offline checker instead.

Cause: None of the online checkers is capable to check context.

No suitable online checker found. Attempting to use offline checker instead.

Cause: None of the online checkers is capable to check the default context.

No user specified for context context. Will attempt to connect as user user.

Cause: If a user is specified for the default context, SQLJ will attempt to check online for all contexts.

not a directory: name

Cause: You have directed SQLJ via the -d or the -dir option to create output files into a directory hierarchy starting with the root directory name. Ensure that the root directory exists and is writable.

not a valid input filename: filename

Cause: Input files to SQLJ must have the extension ".sqlj", ".java", ".ser", or ".jar".

Not an interface: name

Cause: The name name was used in the implements clause. However, it does not represent a Java interface.

Not an original sqlj file - no instrumentation.

Cause: The Java file from which the class file was compiled was not generated by the SQLJ translator.

Not found: name. There is no stored procedure or function of this name.

Cause: A stored function or procedure could not be found.

option is read only: option name

Cause: An option value was specified for the read-only option named option name.

Action: Verify the intended use of the option.

Oracle features used:

Cause: The Oracle customizer "summary" option was enabled. A list of Oracle specific types and features used by the current profile follows this message.

Action: If wider portability is desired, types and features listed may need to be removed from the program.

PLEASE ENTER PASSWORD FOR user AT connection >

Action: You are requested to enter a user password and hit <enter>.

positioned update/delete not supported

Cause: Select and use a ROWID to refer to a particular table row.

Action: A SQL positioned update or delete operation was contained in the profile. This operation cannot be executed by Oracle at runtime.

Premature end-of-file.

Cause: The source file ended before the class declaration was completed.

Action: Check the source file, paying attention to missing quotation marks; correct placement or possible omission of enclosing parenthesis, brackets, or braces; missing comment delimiters; and that it contains at least one valid Java class.

Public class class name must be defined in a file called filename.sqlj or filename.java

Cause: Java requires that the class name must match with the base name of the source file that contains its definition.

Action: Rename the class or the file.

Public declaration must reside in file with base name name, not in the file file.

Action: Ensure that the name of the SQLJ file name and the public class name match.

re-installing Oracle customization

Cause: An older version of the Oracle customization was previously installed into the profile being customized. The old customization was replaced with a more recent version.

Action: The profile is ready for use with Oracle. No further action required.

recursive iterators not supported: iterator name

Cause: A SQL operation used a recursively defined iterator type. A recursively defined iterator type "A" is an iterator which eventually contains "A" as one of its column types. An iterator is said to eventually contain "A" if it has a column type that is either "A" or an iterator that itself eventually contains "A".

Action: Use an iterator that is not recursive.

registering Oracle customization

Cause: The Oracle customization was installed into the profile being customized.

Action: The profile is ready for use with Oracle. No further action required.

Repeated host item name in positions pos1 and pos2 in SQL block. Behavior is vendor-defined and non portable.

Cause: The host variable name appeared in more than one position with the mode OUT, or INOUT, or it appears with the mode IN as well as OUT or INOUT.

Action: Be aware that host variables are not passed by reference, but each occurrence is passed individually by value-result. To avoid this message, use separate host variables for each OUT or INOUT position.

Result expression must be an lvalue.

Cause: The left-hand side of a SQLJ assignment statement must be an assignable expression. Java variables, fields, and array elements are assignable expressions.

Return type javatype of stored function is not legal.

Cause: The stored function returns a Java type javatype, which does not refer to a valid Java class.

Return type type is not a visible Java type.

Cause: The type type is not a publicly visible Java type, and thus no instances of this type can be created and returned from a database driver.

Action: Declare type type as public.

Return type type is not supported in Oracle SQL.

Cause: The Java type type cannot be returned by a SQL statement.

Return type type of stored function is not a JDBC output type. This will not be portable.

Cause: Use types as per the JDBC specification for maximum portability.

Return type type of stored function is not a visible Java type.

Cause: The type type is not a publicly visible Java type, and thus no instances of this type can be created and returned from a database driver.

Action: Declare type type as public.

Return type incompatible with SELECT statement: type is not an iterator type.

Action: SQL queries that return a value must be assigned to a java.sql.ResultSet, or to a positional or named iterator object.

Select list has only n elements. Column type #pos is not available.

Cause: The database query returns fewer columns than required by the iterator or by an INTO host variable list.

Action: Either change the query, or remove elements from the INTO-list.

Select list has only one element. Column type #pos is not available.

Cause: The database query returns fewer columns than required by the iterator or by an INTO host variable list.

Action: Either change the query, or remove elements from the INTO-list.

Shift operator requires integral operands.

Cause: Shift operator can operate only on numeric operands.

Action: Check the types of operands.

Sign operator requires numeric operand.

Cause: Sign operator can operate only on a numeric operand.

Action: Check the type of the operand.

SQL checker did not categorize this statement.

Cause: The specified SQL checker did not determine the nature of this SQL statement.

Action: Your SQL checker should be categorizing every SQL statement. Check the SQL checker that is being used (-online and -offline options).

SQL checking did not assign mode for host variable #n - assuming IN.

Cause: The specified SQL checker did not assign mode information for this host variable. The mode IN is assumed.

Action: Your SQL checker should be assigning modes to all host expressions. Check the SQL checker that is being used (-online and -offline options).

SQL checking did not assign mode for host variable #n.

Cause: The specified SQL checker did not assign mode information for this host variable. The mode IN is assumed.

Action: Your SQL checker should be assigning modes to all host expressions. Check the SQL checker that is being used (-online and -offline options).

SQL checking did not assign mode for host variable name (at position #n) - assuming IN.

Cause: The specified SQL checker did not assign mode information for this host variable. The mode IN is assumed.

Action: Your SQL checker should be assigning modes to all host expressions. Check the SQL checker that is being used (-online and -offline options).

SQL checking did not assign mode for host variable name (at position #n).

Cause: The specified SQL checker did not assign mode information for this host variable. The mode IN is assumed.

Action: Your SQL checker should be assigning modes to all host expressions. Check the SQL checker that is being used (-online and -offline options).

SQL statement could not be categorized.

Cause: This SQL statement did not begin with a recognizable SQL or SQLJ keyword, such as SELECT, UPDATE, DELETE, ..., CALL, VALUES, FETCH, CAST, etc.

Action: Check the syntax of your SQL statement.

SQL statement does not return a value.

Cause: The program contained an assignment statement that was neither a query nor a stored function call. Only queries and functions can return immediate results.

SQL statement with INTO ... bind variables can not additionally return a value.

Action: Either remove INTO ... bind list, or remove assignment to an iterator.

SQLJ declarations cannot be inside method blocks.

Cause: Method blocks cannot contain SQLJ declarations.

Action: Move the SQLJ declaration from the method block scope to the class scope or file scope instead (renaming the declared type and all references to it if necessary to avoid ambiguity).

Statement execution expression does not have a Java type.

Cause: No valid Java type could be derived for your execution context expression.

Stored function or procedure syntax does not follow SQLJ specification.

Cause: Stored functions use the VALUES(...) syntax, while stored procedures use the CALL ... syntax.

Action: SQLJ understands your function/procedure syntax. However, if you want your SQLJ program to be maximally portable, you may want to use the documented syntax.

Stored function syntax does not follow SQLJ specification.

Cause: Stored functions use the VALUES(...) syntax.

Action: SQLJ understands your function syntax. However, if you want your SQLJ program to be maximally portable, you may want to use the documented syntax.

Stream column name #pos not permitted in SELECT INTO statement.

Cause: You cannot use stream types, such as sqlj.runtime.AsciiStream, in a SELECT INTO statement.

Action: For a single stream column, you can use a positional iterator and place the stream column at the end. Alternatively, you can use a named iterator, ensuring that the stream columns (and other columns) are accessed in order.

Syntax [<connection context>, <execution context>, ...] is illegal. Only two context descriptors are permitted.

Action: Use #sql [<connection context>, <execution context>] { ... }; for specifying both connection and execution contexts.

The class prefix is prefix, which has the SQLJ reserved shape <file>_SJ.

Cause: You should avoid class names of the form <file>_SJ<suffix>, which are reserved for SQLJ-internal use.

The column column type is not nullable, even though it may be NULL in the select list. This may result in a runtime error.

Cause: Nullability in Java does not reflect nullability in the database.

The option value -warn=value is invalid. Permitted values are: all, none, nulls, nonulls, precision, noprecision, strict, nostrict, verbose, noverbose.

Action: Use only permitted values in your -warn option.

The result set column "name" type was not used by the named cursor.

Cause: The column name of type type was selected by the query. However, this column is not required by the named iterator.

Action: Change the query or ignore this message (you can turn it off with the -warn=nostrict option).

The tag tag in option option is invalid. This option does not permit tags.

Action: Only the -user, -url, -password, -offline, and -online options are used with tags. Specify the option as -option not as -option@tag.

The type of the context expression is type. It does not implement a connection context.

Cause: A connection context must implement sqlj.runtime.ConnectionContext.

The type of the statement execution context is type. It does not implement an ExecutionContext.

Cause: An execution context must be an instance of class sqlj.runtime.ExecutionContext.

This type is not legal as an IN argument.

Cause: The Java type is supported as an OUT argument but not as an IN argument by your JDBC driver.

This type is not legal as an OUT argument.

Cause: The Java type is supported as an IN argument but not as an OUT argument by your JDBC driver.

Type type for column column is not a JDBC type. Column declaration is not portable.

Action: Use types as per the JDBC specification for maximum portability.

Type type for column column is not a valid Java type.

Cause: No valid Java class declaration could be found for type.

Type type of column column is not publicly accessible.

Cause: The Java class type of SELECT-list column column is not a publicly visible class, and thus cannot be instantiated by a driver.

Action: Use a public Java type in the SELECT-list.

Type type of host item #n is not permitted in JDBC. This will not be portable.

Action: Use types as per the JDBC specification for maximum portability.

Type type of host item item (at position #n) is not permitted in JDBC. This will not be portable.

Action: Use types as per the JDBC specification for maximum portability.

Type type of INTO-list item n is not publicly accessible.

Cause: The Java class type of INTO-list item n is not a publicly visible class, and thus cannot be instantiated by a driver.

Action: Use a public Java type in the INTO-list.

Type cast operator requires non-void operand.

Cause: A void type cannot be cast to any actual type.

Action: Correct the type of the operand, or remove the cast operation altogether.

Type mismatch in argument #n of INTO-list. Expected: type1 Found: type2

Cause: The Java type type2 of your host expression #n in the INTO-list does not match the Java type type1 prescribed by the positional iterator.

Unable to check SQL query. Error returned by database is: error

Cause: The database issued an error message when checking a SQL query against the exemplar schema.

Action: Verify whether the SQL query is correct.

Unable to check SQL statement. Could not parse the SQL statement.

Cause: An error occurred during parsing of a SQL statement, making it impossible to determine the contents of the select list.

Action: Verify the syntax of your SQL query.

Unable to check SQL statement. Error returned by database is: error

Cause: The database issued an error message when checking a SQL statement against the exemplar schema.

Action: Verify whether the SQL statement is correct.

Unable to check WHERE clause. Error returned by database is: error

Cause: When determining the shape of a query from an exemplar schema, the database issued an error message.

Action: Verify the syntax of your SQL query.

unable to create backup file

Cause: A backup file for the current profile could not be created. This indicates that a new file could not be created in the directory containing the profile. The original profile remains unchanged.

Action: Verify that the directory containing the profile has the proper permissions and rerun the customizer harness. Omit the "backup" option to customize the profile without creating a backup file.

unable to create output file file

Action: Ensure that SQLJ has the appropriate permissions to create the file file.

unable to create package directory directory

Cause: You have directed SQLJ via the -d or the -dir option to create output files into a directory hierarchy. Ensure that SQLJ is able to create appropriate subdirectories.

unable to delete filename

Cause: The profile file filename could not be removed by the profile conversion utility.

Action: Verify that the file given by filename has the proper permissions.

unable to find input file filename

Action: Ensure that file filename exists.

Unable to instantiate the offline checker class.

Cause: Class class does not have a public default constructor.

Unable to instantiate the online checker class.

Cause: Class class does not have a public default constructor.

Unable to instrument args: message

Cause: SQLJ could not instrument the classfile args due to some error that occurred during instrumentation.

Action: Ensure that the class file is present, that it is not corrupt, and that it is writable.

unable to load class class name: error description

Cause: A parameter or iterator column with type class name used in this SQL statement could not be loaded by the customizer. To perform customization, the customizer must be able to load all classes used in the SQL operation.

Action: Verify the type class name exists in ".class" format, and can be found on the CLASSPATH. Examine error description for details of the problem.

Unable to load the offline checker class.

Cause: The Java class class could not be found.

Unable to load the online checker class.

Cause: The Java class class could not be found.

unable to move original filename to new filename

Cause: The profile file original filename could not be renamed as new filename by the profile conversion utility.

Action: Verify that the files and output directory have the proper permissions.

Unable to obtain DatabaseMetaData to determine the online checker to use for context context. Attempting to use offline checker instead.

Cause: JDBC database meta data was unavailable, or did not supply information on the database name and version.

Action: Ensure that you have a proper JDBC driver available.

Unable to obtain description of stored function or procedure: error.

Cause: An error occurred when trying to characterize a stored function or procedure invocation.

Action: Ensure that you are calling a proper stored procedure or function. Ensure that you are using an appropriate JDBC driver to check your SQLJ program.

unable to open temporary output file filename

Action: Ensure that you can create a temporary file filename, and that the directory is writable.

Unable to perform online type checking on weakly typed host item untypables

Cause: For each of the Java host expressions, SQLJ determines a corresponding SQL type. These SQL types are required for checking the statement online. When you are using "weak types", SQLJ cannot check your SQL statement online in may cases.

Action: Replace weak types with user-defined types.

Unable to perform semantic analysis on connection connectionUrl by user user. Error returned by database is: error

Cause: SQLJ failed in establishing a connection for online checking.

unable to read input file filename

Action: Ensure that the file filename exists, and that you have read permissions on it.

Unable to read password from user: error.

Cause: An error occurred when reading a user password.

unable to read property file property file

Action: You specified a property file in the -props=property file option. Ensure that this file exists and is readable.

Unable to read translation state from file: message

Action: Ensure that SQLJ can create and subsequently read a temporary file file.

Unable to remove file file1 or file2

Cause: SQLJ was unable to remove temporary files that it created during translation.

Action: Check the default permissions for newly created files.

unable to remove file filename

Cause: During profile customization, a temporary file named filename was created that was unable to be removed.

Action: Verify the default permissions for newly created files. Manually remove the temporary file.

unable to rename file original filename to new filename

Cause: During profile customization, a temporary file named original filename could not be renamed new filename. This indicates that the customizer harness was unable to replace the original profile or .jar file with the customized version.

Action: Verify that the original profile or jar file is writable.

unable to rename output file from original filename to new filename

Action: Ensure that new filename is writable.

Unable to resolve stored function function - n declarations match this call.

Cause: The stored function invocation matches more than one stored function signature in the database.

Action: Use Java host expressions rather than SQL expressions in the arguments to the stored function to enable signature resolution.

Unable to resolve stored procedure procedure - n declarations match this call.

Cause: The stored procedure invocation matches more than one stored procedure signature in the database.

Action: Use Java host expressions rather than SQL expressions in the arguments to the stored procedure to enable signature resolution.

Unable to resolve type of WITH attribute attribute.

Cause: You used a WITH attribute with your iterator or context declaration. The value of the WITH attribute was not a literal or symbolic constant, which made it impossible for SQLJ to determine the Java type of the attribute.

Action: Use a literal constant or a symbolic constant to specify the value of the WITH attribute.

Unable to write Java compiler command line to file: message

Action: Ensure that SQLJ can create and subsequently read a temporary file file.

Unable to write translation state to file: message

Action: Ensure that SQLJ can write to a temporary file file.

Unbalanced curly braces.

Cause: There was no closing curly brace where one was expected.

Action: Add the missing closing curly brace.

Unbalanced parenthesis.

Cause: There was no closing parenthesis where one was expected.

Action: Add the missing closing parenthesis.

Unbalanced square brackets.

Cause: There was no closing square bracket where one was expected.

Action: Add the missing closing square bracket.

unchanged

Cause: The profile was not modified by the customization process.

Action: Correct errors that prevented customization, if any. Note that some customizers (such as the profile printer) intentionally leave the profile unchanged; in such cases, this is the expected message.

unexpected error occurred...

Action: An unexpected error occurred during SQLJ translation. Contact Oracle if this error persists.

Unexpected token 'unexpected token' in Java statement.

Cause: Java statement cannot have token 'unexpected token' in the position in which it appears in the source code.

Action: Check the syntax of the statement.

unknown digest algorithm: algorithm name

Cause: An unknown jar message digest algorithm was specified in the customizer harness "digests" option.

Action: Verify that algorithm name is a valid message digest algorithm and that the corresponding MessageDigest implementation class exists in the CLASSPATH.

Unknown identifier 'unknown identifier'.

Cause: The identifier 'unknown identifier' has not been defined.

Action: Check the identifier for typing errors, and/or make sure that it has been defined.

Unknown identifier.

Cause: The identifier has not been defined.

Action: Check the identifier for typing errors, and/or make sure that it has been defined.

unknown option found in location: name

Action: Ensure that you are using a valid SQLJ option. Run sqlj -help-long to obtain a list of supported options.

unknown option type: option name

Cause: The option named option name could not be handled by the customizer harness. This often indicates a non-standard, customizer-specific option for which an appropriate JavaBeans property editor could not be found.

Action: Verify that property editors associated with the current customizer are accessible on the CLASSPATH. As a workaround, discontinue use of the option or use a different customizer.

Unknown target type in cast expression.

Cause: The target type of the cast operation has not been defined.

Action: Verify the type name and/or make sure that it has been defined.

unrecognized option: option

Cause: An unknown option was given to the profile conversion utility.

Action: Verify that the option is spelled correctly.

Unrecognized SET TRANSACTION syntax at "token" ...

Cause: SQLJ was not able to understand this SET TRANSACTION statement.

Action: If you rely on SQLJ to recognize this particular SET TRANSACTION clause, you should use the documented syntax.

Unrecognized SET TRANSACTION syntax.

Cause: SQLJ was not able to understand this SET TRANSACTION statement.

Action: If you rely on SQLJ to recognize this particular SET TRANSACTION clause, you should use the documented syntax.

Unrecognized SQL statement: keyword

Cause: The SQL statement was introduced with the keyword keyword. Neither SQLJ nor the JDBC driver recognized it as a SQL keyword.

Action: Check your SQL statement. If this is a vendor-specific keyword that neither your JDBC driver nor your SQL checker knows about, you can ignore this message.

Unsupported file encoding

Action: Ensure that the encoding specified in the -encoding option is supported by your Java VM.

Unsupported Java type for host item #n: type.

Cause: The Java type type is not supported as a host item by your JDBC driver.

Action: Use a different Java type in your host expression. Possibly update your JDBC driver.

Unsupported Java type for host item name (at position #n): type.

Cause: The Java type type is not supported as a host item by your JDBC driver.

Action: Use a different Java type in your host expression. Possibly update your JDBC driver.

Unsupported Java type for item #pos of INTO-list: type.

Cause: The Java class type of INTO-list item pos is not supported by your JDBC driver.

Action: Use supported Java types in the INTO-list. Possibly update your JDBC driver.

Unterminated comment.

Cause: The source file ended in a comment before the class declaration was completed.

Action: Check the source file for a missing comment delimiter.

valid Oracle customization exists

Cause: A valid Oracle customization was previously installed into the profile being customized. The profile was not modified.

Action: The profile is ready for use with Oracle. No further action required.

Value of iterator attribute attribute must be a boolean.

Action: This iterator with-clause attribute requires a boolean value. Specify one of: attribute=true, or attribute=false.

Value of iterator attribute updateColumns must be a String containing a list of column names.

Action: Declare the updateColumns attribute in your iterators with-clause as follows: updateColumns="col1,col2,col3" where the column names represent the updatable columns.

Value of the iterator with-clause attribute sensitivity must be one of SENSITIVE, ASENSITIVE, or INSENSITIVE.

Action: To set sensitivity, specify one of: sensitivity=SENSITIVE, sensitivity=ASENSITIVE, or sensitivity=INSENSITIVE on the with-clause of your iterator declaration.

Value returned by SQL query is not assigned to a variable.

Cause: User is ignoring the result returned by a query.

Action: Verify your SQL statement, and that it is your intention to discard the result of the SELECT.

Value returned by SQL stored function is not assigned to a variable.

Cause: User is ignoring the result returned by a stored function call.

Action: Verify your SQL statement, and that it is your intention to discard the result of a stored function call.

You are using a non-Oracle JDBC driver to connect to an Oracle database. Only JDBC-generic checking will be performed.

Cause: In order to perform Oracle-specific checking, an Oracle JDBC driver is required.

You are using an Oracle 8.0 JDBC driver, but connecting to an Oracle7 database. SQLJ will use Oracle7 specific SQL checking.

Cause: Translation with an online connection will automatically be limited to the features of the database that you are connected to.

Action: If you use the Oracle 8.0 JDBC driver but also want to connect to Oracle7 databases, you may want to explicitly specify oracle.sqlj.checker.Oracle7OfflineChecker and oracle.sqlj.checker.Oracle7JdbcChecker for offline and online checking, respectively.

You are using an Oracle 8.1 JDBC driver, but are not connecting to an Oracle8 or Oracle7 database. SQLJ will perform JDBC-generic SQL checking.

Cause: This version of SQLJ does not recognize the database you are connecting to.

Action: Connect to an Oracle7 or Oracle8 database.

You are using an Oracle 8.1 JDBC driver, but connecting to an Oracle7 database. SQLJ will use Oracle7 specific SQL checking.

Cause: Translation with an online connection will automatically be limited to the features of the database that you are connected to.

Action: If you use the Oracle 8.1 JDBC driver but also want to connect to Oracle7 databases, you may want to explicitly specify oracle.sqlj.checker.Oracle8To7OfflineChecker and oracle.sqlj.checker.Oracle8To7JdbcChecker for offline and online checking, respectively.

You are using an Oracle JDBC driver, but connecting to an non-Oracle database. SQLJ will perform JDBC-generic SQL checking.

Cause: This version of SQLJ does not recognize the database you are connecting to.

Action: Connect to an Oracle7 or Oracle8 database

You cannot specify both, source files (.sqlj,.java) and profile files (.ser,.jar)

Cause: Either use SQLJ to translate, compile, and customize .sqlj and .java source files, or use SQLJ to customize profile files by specifying .ser files and .jar archives containing .ser files, but not both.




Prev

Top

Next
Oracle
Copyright © 1999 Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index