Business Components for Java Error Messages

All messages are prefixed by text that indicates the area of the product where the error occurred. In this case, the prefix "JBO-" signifies that this message was generated by Oracle Business Components for Java. All messages are listed in order by the message code number.

Each error message contains an error number, an exception type, a cause, and an action. In some cases there may be multiple causes and/or actions.

JBO- Error Numbers

25000 25001 25002 25003 25004 25005 25006 25007 25008 25009 25010 25011 25012 25013 25014 25015 25016 25017 25018 25019 25020 25021 25022 25023 25024 25025 25026 25027 25028 25029 25030 25031 25032 25033 25034 25035 25036 25200 25201 25222 25223 25224 25226 25301 25302 26000 26001 26002 26003 26004 26005 26006 26007 26008 26009 26010 26011 26012 26013 26016 26017 26018 26019 26020 26021 26022 26023 26024 26025 26026 26030 26041 26042 26043 26044 26045 26060 26061 26062 26064 26065 26066 26067 26068 26069 26070 26080 26081 26100 26101 26102 27001 27002 27003 27004 27005 27006 27007 27008 27009 27010 27011 27012 27013 27014 27015 27016 27017 27018 27019 27020 27021 27022 27101 27102 27120 27121 27122 27123 27124 28000 28001 28002 28004 28005 28006 28007 28009 28020 28021 28030 28031 28032 28033 28034 28035 28036 28037 28038 28039 28200 28201 28202 29000 55001 55002 55003

JBO-25000: UnknownSQLTypeException

Cause: SQLType name passed to NullValue constructor is invalid.

Action: Provide a valid SQLType name. See oracle.jbo.server.OracleTypeMapEntries.java for a list of valid SQLType names. Names are like "VARCHAR", "CHAR", "NUMBER", etc.

JBO-25001: NameClashException

Cause: A business component of this name already exists in the application module.

Action: Provide a different name for the business component. If you provide a null value or null string for the name, the framework will create a unique name within the scope of the application module.

JBO-25002: NoDefException

Cause: No business component definition found with the given name in the project classpath.

Action: Provide a correct name for the business component definition. If the definition is not in the classpath, you must include it there. Names are of the format myProjectPackage.BusinessPackage.BusinessComponent. This error can also occur if there is a case conflict, as when the database expects "DEPTNO" and receives "Deptno" instead.

JBO-25003: NoObjException

Cause: No business component object found with the given name in the application module.

Action: Provide a different name for the business component object or create a new business component with the given name.

JBO-25004: InvalidDefNameException

Cause: An attempt has been made to associate a definition name with a type for which it is not valid.

Action: The name should be a valid java-identifier with no spaces or punctuation. Names are of the format myProjectPackage.BusinessPackage.BusinessComponent

JBO-25005: InvalidObjNameException

Cause: An attempt has been made to associate a business component name with an object for which it is not valid.

Action: The name should be a valid java identifier with no spaces or punctuation. Names are of the format myProjectPackage.BusinessPackage.BusinessComponent.

JBO-25006: InvalidParamException

Cause: The parameters passed to a business component method are invalid.

Action: See the Javadoc for the method that throws this exception. Expand the call-stack for the correct parameters. e.g., DBTransactionImpl.executeCommand() throws this exception when command parameter is null or an empty String.

JBO-25007: InvalidOperException

Cause: Resetting row validation for a default RowIterator of a view object or a RowSet is not permitted.

Action: Reset the RowValidation flag for the RowSet or view object. This will create another iterator for the RowSet or view object to navigate to another row without validating.

JBO-25008: InvalidOperException

Cause: An attempt has been made to remove a view object that is participating in a view link.

Action: Remove the view link before removing the view object.

JBO-25009: oracle.jbo.domain.DataCreationException

Cause: A domain object could not be created with the given value. Either a domain constructor that accepts the given value does not exist, or there is no conversion method in the domain object for the given value type, or the domain's constructor threw an unexpected exception.

Action: Confirm that the value being passed is valid with respect to the domain-type being created. e.g., passing a String value like "One" to the oracle.jbo.domain.Number constructor will throw this exception.

JBO-25010: oracle.jbo.domain.DomainValidationException

Cause: Validation failed with the given value in a domain constructor. This exception is thrown in the validate() method of a domain type.

Action: Provide a valid value for the domain type.

JBO-25011: InvalidOperException

Cause: An attempt has been made to invoke an invalid navigation method for a forward-only view object or RowSet.

Action: Either remove the forward-only setting for the view object or RowSet, or do not invoke navigation methods other than next() on the forward-only view object or RowSet.

JBO-25012: InvalidOperException

Cause: The client has attempted to locate view rows that has the given entity row as the primary entity row. However, it has been discovered that the entity row's entity definition does not match the entity definition of the view object's primary entity object base.

Action: The entity row used to locate view rows must have be based on the same entity definition.

JBO-25013: TooManyObjectsException

Cause: Attempting to add a new entity to the cache with the primary key the same as an existing entity. This exception is thrown when uniquing a newly fetched/created entity with the cached set of entities.

Action: The primary key value may not be unique for this entity-type. Fix by adding more attributes to the Key definition for this entity type, so that each row for this entity is uniquely identifiable. Or fix the primary key value so that this entity has a unique key identifier.

JBO-25014: RowInconsistentException

Cause: Comparison of the cached entity failed with the values in the database for that entity. This could happen when another user or operation has committed modifications to the same entity-row in the database. This exception can also be thrown if the equals() method on one of the domain-type attributes in the entity fails.

Action: Choose from the following options:

JBO-25015: InvalidOperException

Cause: Attempting to execute a query for a view object or RowSet after closing or removing the view object or RowSet.

Action: Verify that the view object or RowSet is not removed or closed.

JBO-25016: ReadOnlyViewObjectException

Cause: Attempting to modify data for a view object which is declared to be read only. This includes creating a new row for this view object, removing a Row or modifying attributes of a ViewRow for this view object.

Action: To modify the data, create a view object with ReadOnly flag set to false.

JBO-25017: RowCreateException

Cause: An unexpected exception occurred while creating a new entity instance.

Action: The entity may not have a public default constructor. Fix the cause for InstantiationException or IllegalAccessException that appears in the details of this exception.

JBO-25018: RowCreateException

Cause: An unexpected exception occurred while creating a new ViewRow instance.

Action: The ViewRow may not have a public default constructor. Fix the cause for InstantiationException or IllegalAccessException that appears in the details of this exception.

JBO-25019: RowNotFoundException

Cause: Attempting to lock a non-existing row in the database. This could occur when the cache has an entity which was subsequently deleted from the database by another user or operation.

Action: Remove the current entity from the entity-cache by calling remove(). Or re-synchronize the cache with the database, by rolling-back the current transaction or by committing the existing set of changes and then dropping the entity-cache.

JBO-25020: RowNotFoundException

Cause: Attempting to find a referenced entity in the ViewRow failed due to a changed foreign-key value.

Action: Provide a valid foreign key value or remove the current one.

JBO-25021: oracle.jbo.domain.DataCreationException

Cause: A domain object could not be created with the given value. Either a domain-constructor that accepts the given value does not exist, or there is no conversion method in the domain object for the given value type, or the domain's constructor threw an unexpected exception.

Action: Confirm that the value being passed is valid with respect to the domain-type being created. e.g., passing a String value like "One" to oracle.jbo.domain.Number constructor will throw this exception.

JBO-25022: ViewLinkAlreadyExistsException

Cause: Attempting to set the Master RowSet for this RowSet more than once.

Action: Do not invoke setMasterRowSetIterator more than once on a RowSet.

JBO-25023: oracle.jbo.domain.GenericDomainException

Cause: An expected domain exception occurred.

Action: Contact Business Components for Java Technical Support.

JBO-25024: JboException

Cause: Attempting to use an obsolete TypeMap constructor.

Action: Verify that the type maps in use for this version of framework is compatible. See example type maps in oracle.jbo.server.OracleTypeMapEntries.

JBO-25025: ReadXMLException

Cause: An error occurred during reading the XML data for a view object. This exception may contain other ReadXMLExceptions.

Action: Fix the contained Row- or Attribute-level exceptions in the details for this exception.

JBO-25026: RowReadXMLException

Cause: An error occurred during reading the XML data for a ViewRow. This exception may contain other ReadXMLExceptions for contained RowSets or Attributes.

Action: Fix the RowSet- or Attribute-level exceptions in the details for this exception.

JBO-25027: AttributeReadXMLException

Cause: An error occurred during reading the XML data for an attribute of a ViewRow. This exception may contain other JboExceptions thrown from the set() method for this attribute.

Action: Fix the JboException in the details for this exception.

JBO-25028: oracle.jbo.domain.DataCreationException

Cause: A domain object could not be created with the given value. Either a domain-constructor that accepts the given value does not exist, or there is no conversion method in the domain object for the given value type, or the domain's constructor threw an unexpected exception.

Action: Confirm that the value being passed, is valid with respect to the domain-type being created. e.g., passing a String value like "One" to oracle.jbo.domain.Number constructor will throw this exception.

JBO-25029: oracle.jbo.domain.DataCreationException

Cause: The named data class (may be a domain) could not be found.

Action: Make sure that the data class is accessible from the CLASSPATH and is a valid data class.

JBO-25030: InvalidOwnerException

Cause: Could not find the container entity for this entity, as this entity is a detail in a composition association. This could occur while creating a new entity instance by passing a non-existing master key value, or when updating the foreign-key value in this entity and there is no master entity with that foreign-key value.

Action: Provide a valid foreign-key value to the create() method or setAttribute() method so that an appropriate master row is found for this entity.

JBO-25031: RowNotFoundException

Cause: The client has attempted to access an attribute of a view which is mapped to an entity row, but the corresponding entity row is null. If the view object consists of multiple entity object bases and if the secondary entity object bases are reference-only, the entity rows may be null if the FK linking the primary entity object to secondary entity objects is null.

Action: In such a situation, the user is not allowed to access attributes of missing entity rows.

JBO-25032: JboSerializationException

Cause: Failure trying to make the application module state or transaction state passive.

Action: The passivation target store (Database, File or Memory) may have reported an exception. See the details of this exception for errors from the target store.

JBO-25033: JboSerializationException

Cause: Trying to activate the application module state or transaction state failed.

Action: The passivation target store (Database, File or Memory) may have reported an exception. See the details of this exception for errors from the target store. The given ID (in case of activation) may be invalid/not found.

JBO-25034: RowNotFoundException

Cause: The client has attempted to locate a row with a row handle, but the row is not found. This error may be raised if the client tries to take a row out of one query collection and use its handle to find a row in another query collection. Note that if the client calls executeQuery on a RowSet, it may receive a new query collection. Thus, you may get this error if the client retrieves a row from a RowSet, takes its row handle, calls executeQuery, and then tries to locate the row using the saved handle.

Action: Make sure that your row handle is not stale.

JBO-25035: JboException

Cause: An application attempted to change an application module's passivation store after it had been initialized.

Action:The passivation store (Database, File or Memory) may only be initialized once. If the customer application logic has not specified a passivation store when the serialization framework is invoked, the passivation store is initialized by the Business Components for Java framework. Check the client application logic for invocations of:

ApplicationModuleImpl.setStoreForPassiveState

which are invoked after the application module passivation store has been initialized.

JBO-25036: InvalidObjAccessException

Cause: An application invoked an object operation that is not supported in the object's current state.

Action: Remove the invalid operation invocation or provide exception handling logic.

JBO-25200: NotConnectedException

Cause: The application module is not connected to the database.

Action: Provide a valid set of connection credentials to connect to a database.

JBO-25201: AlreadyConnectedException

Cause: Trying to re-establish a database connection.

Action: Disconnect the current database connection before trying to re-establish the JDBC connection.

JBO-25221: JboException

Cause: Attempting to call a method that is either not implemented or not supported.

Action: This method is not available on the called object. E.g. setAttribute() in oracle.jbo.Key class is not implemented and will throw this exception.

JBO-25222: ApplicationModuleCreateException

Cause: There are a number of reasons the application module could not be created:

Action: Depending on the cause, chose from the following actions:

If your business components are deployed in local mode, they may not be on the classpath.
If this is the cause of the error, the exception will usually be followed by a different exception, JBO-25002: Application Module not found. If this occurs, make sure you've done all of the following:

  1. Made a library for your business components.

  2. Added a library to your client's project properties.
  3. Included the library on the "libraries" page when you created a deployment profile for your client (whether your client was a web application or a command-line application).
  4. Copied the library with your client to the target platform (whether your client was a web application or a command-line application).
  5. Included all the files you copied (including the library) when you set the classpath on the target platform.

You may have unresolved classes on the server.
Try the following procedure to resolve any unresolved classes on Oracle8i.

  1. In the Navigator, right-click the JDBC connection you used to deploy the Business Components project.

  2. Choose Invoke SQL*Plus from the context menu.
  3. Copy and paste the following SQL*Plus script into the SQL*Plus window.

     
    set termout off
    set echo off
    set heading off
    set pages 999
    set linesize 2000
    set feedback off
    select 'alter java class "'|| replace(dbms_java.longname(object_name),'/','.')||'" resolve;'
    from user_objects
    where object_type='JAVA CLASS'
    and status = 'INVALID'
    spool C:\temp\resolve.sql
    /
    spool off
    set echo on
    set termout on
    @C:\temp\resolve.sql

You may not have granted Java2 permissions.
If this is the cause of the error, there will be permissions errors in the database trace file. To correct the problem, see the help topic "Granting Permissions on a Business Components EJB" for information on granting Java2 permissions.

Note: The location of the database trace file varies from installation to installation, but in a default Windows NT installation, the file will be in the directory ORACLE_HOME\admin\orcl\ udump and will have the form orcl????.trc.

Your Java pool size may be too small
Business Components for Java deployed as EJBs work best with a Java pool size of at least 50MB. Edit your init.ora file and check the java_pool_size parameter. If it is under 50MB, change it, restart your database, and try your connection again.

You may not have compiled your classes
Compile your business component classes and try again.

JBO-25223: ApplicationModuleCreateException

Cause: When business components are running inside JServer, only one root application module may be created. This is because JServer (already) provides one transaction context.

Action: It is illegal to attempt to create multiple root transactions when running inside JServer.

JBO-25224: JboException

Cause: Trying to retain the application module state during a transaction disconnect failed.

Action: The disconnect and retain application module state target requires that no database state exist before the transaction connection is closed. Examples of database state include open database cursors in non-forward only view objects, database locks, and uncommitted database changes. The client should clean up this state by fetching or resetting any open view objects and committing any uncommitted changes.

JBO-25226: ApplicationModuleCreateException

Cause: This application module definition contains recursive references to child application modules. For example, if application module definition appMod1 contains a child application module of appMod2, and appMod2 contains appMod1,this error will be raised.

Action: Remove recursive application module definition references.

JBO-25301: InvalidOwnerException

Cause: While traversing the parenthood chain for application modules, a child application module was found with no container (parent) application module.

Action: If this application has added custom business component classes, it may be that the application code is attempting to access a child application module before it is fully initialized. If this is not the case, this error probably represents some internal error in Business Components for Java framework, in which case contact Business Components for Java Technical Support.

JBO-25302: InvalidOwnerException

Cause: A business component is found without a container (parent) application module.

Action: If this application has added custom business component classes, it may be that the application code is attempting to access a business component before it is fully initialized. If this is not the case, this error probably represents some internal error in Business Components for Java framework, in which case contact Business Components for Java Technical Support.
 

JBO-26000: JboException

Cause: Attempting to load metadata objects failed. It may have unexpected data or the XML data may be corrupt.

Action: Verify that the XML metadata for various components is valid.

JBO-26001: NoXMLFileException

Cause: Could not open the named XML file for read.

Action: 1. Make sure that the file is present. In particular, if the file is to be found in a zip/jar file, make sure that the Zip/JAR file is included in the CLASSPATH.

2. This error is also reported if the name of the XML file does not match the object Name specified in the XML file. If the file system support case insensitive file names (e.g., Windows NT), make sure that the file name matches the object Name in the XML file in case-sensitive fashion.

3. For a .JPX file, this error is reported if the JPX file is missing the JboProject XML tag. Check the JPX file to make sure that the valid tag is in there.

4. One XML file may be extending another XML file (specified by the Extends element in this XML file). This error is reported if the base XML file is not found.

5. When loading the XML file for a package (JboPackage tag), this error is reported if some unexpected error occurs while loading a containee.

In all of the above cases, a more descriptive message may be printed on Diagnostic. If you are not seeing Diagnostic messages, you can run your application with Diagnostic turned on, as in "java -Djbo.debugoutput=console ...", to see Diagnostic messages.

JBO-26002: PersistenceException

Cause: Some XML parsing exception (oracle.xml.parser.v2.XMLParseException) was thrown.

Action: The XMLParseException information is output to Diagnostic. If you are not seeing diagnostic messages, you can run your application with diagnostic turned on, as in "java -Djbo.debugoutput=console ...", to see diagnostic messages.

JBO-26003: PersistenceException

Cause: An error occurred while loading entity object definitions. An attribute index in the Java class for this entity has a mismatch with the index in the definition, or an attribute index is missing in the Java class.

Action: Ensure that the indices of attributes in the definition for this entity match the indices defined in the Java class for this entity.

JBO-26004: InvalidOperException

Cause: An attempt was made to set the base definition of another definition object, e.g., setting B's base definition to A (i.e., B Extends A). However, A already extends B. Setting a recursive (circular) subclassing relationship among definition objects is illegal.

Action: Review your subclassing hierarchy of your definition objects and correct errors.

JBO-26005: PersistenceException

Cause: The fetch mode specified in the view definition XML file is not valid.

Action: Check the content of the XML file for the view definition. Look for an XML element named "FetchMode". Make sure that the value for that element is valid. Valid values are: "FETCH_AS_NEEDED", "FETCH_ALL", and "FETCH_DEFAULT".

JBO-26006: PersistenceException

Cause: The fetch size specified in the view definition XML file is not valid.

Action: Check the content of the XML file for the view definition. Look for an XML element named "FetchSize". Make sure that the value for the element is a positive integer.

JBO-26007: PersistenceException

Cause: The maximum fetch size specified in the view definition XML file is not valid.

Action: Check the content of the XML file for the view definition. Look for an XML element named "MaxFetchSize". Make sure that the value for the element is a non-negative integer, or "MAX_FETCH_UNLIMITED", or "MAX_FETCH_DEFAULT". A MaxFetchSize of 0 is the same as MAX_FETCH_UNLIMITED.

JBO-26008: PersistenceException

Cause: A problem is found in resolving a view link definition or an association. In case of a view link, this error may be caused by the fact that the source or destination view object cannot found. Or, if the view link ends have attribute names, this error may indicate that the named attributes cannot be found. Similarly, for an association, this error indicates that either source or destination entity object or attributes involved in the association cannot be found.

Action: Make sure the XML definition for the view link/association has correct view object/entity object/attribute names.

JBO-26009: PersistenceException

Cause: This error occurs if the application uses meta object serialization files (.ser files) instead of XML files. It indicates that after the .ser file is deserialized, the top level object returned from deserialization is not an instance of oracle.jbo.server.xml.JboElementImpl.

Action: This probably means that the .ser file is corrupt.

JBO-26010: PersistenceException

Cause: Entity attribute name in the view definition XML file is invalid or is not found.

Action: Make sure that the entity name is valid. Also, check to make sure that the named attribute does exist in the entity object. The entity object is identified by the EntityUsage element.

JBO-26011: PersistenceException

Cause: Attribute definition found in XML file is invalid. It is missing SQLType value.

Action: Correct the error in the XML file.

JBO-26012: PersistenceException

Cause: The view link definition in the XML file is missing either the source or destination view link end. For a view link XML file, two elements named ViewLinkDefEnd should be found.

Action: Correct the error in the XML file.

JBO-26013: PersistenceException

Cause: Meta object name passed for lookup is invalid.

Action: Normally, the meta object name is a dot-separated name of the meta object. For an entity object named Emp in package1.example, the correct name would be "package1.example.Emp". To correct, locate where the invalid name is coming from (could be meta object names mentioned in an XML file, or the name of the project, etc.) and change the name to a valid one.

JBO-26016: InvalidOperException

Cause: You cannot set customer query (calling setQuery()) on a view object if it is the detail view object in a master detail view link.

Action: Do not call setQuery() if the view object is a detail.

JBO-26017: PersistenceException

Cause: An entity association definition in an XML file is invalid. In particular, this error means that either of the two association ends ("AssociationEnd" elements in the XML file) are missing "Attributes", which lists source or destination attributes.

Action: Correct the error(s) in the XML file.

JBO-26018: InvalidOperException

Cause: An attempt was made to post a row with no attribute set. Some databases (in particular Oracle) do not allow an INSERT statement with no VALUE specified.

Action: Set some attributes on the row before attempting to insert it into the database.

JBO-26019: JboException

Cause: Attempting to remove a master which has detail entities. In the case of a composition, a master cannot be removed if it has details.

Action: Remove all the details of this master by accessing the details via an association and removing all of them.

JBO-26020: InvalidOperException

Cause: The application code tried to take a row from one row set (or view object) and insert it into another row set (view object). In response, the framework will make a "copy" of the row in the new row set. This new row will share references to the underlying entity objects. However, if the source and destination row sets do not share any entity object bases at all, this operation will fail as it does not find any entity rows to share.

Action: When attempting to take a row from one row set and insert into another, make sure that they share at least one entity object base.

JBO-26021: PersistenceException

Cause: A NullPointerException was thrown while parsing an XML file. A possible cause for this is that the DTD file is missing (oracle.jbo.dtd.jbo*.dtd).

Action: Make sure the appropriate DTD file is present.

JBO-26022: CustomClassNotFoundException

Cause: Custom class could not be found and loaded. The custom class may be for a component (e.g., view object), a definition (e.g., view definition), or a row (e.g., view row, entity row).

Action: Make sure that the named class is reachable from the CLASSPATH. The detail exception (if present) will give you more specific reasons why the attempt to locate and load the custom class failed.

JBO-26023: CustomClassNotFoundException

Cause: Custom class was found and loaded, but it is invalid in that it is not assignable to a framework (super) class.

Action: Make sure that the custom class subclasses the appropriate framework (super) class.

JBO-26024: PersistenceException

Cause: An error occurred while creating initial context. This error usually carries a detail exception which will give further information on the cause of the error.

Action: If Business Components for Java is running inside JServer, make sure that the database user (schema) has the setContextClassLoader permission. To grant this, the database system administrator can invoke the following PL/SQL procedure: EXEC DBMS_JAVA.GRANT_PERMISSION('&&1', 'SYS:java.lang.RuntimePermission', 'setContextClassLoader', null); /**

JBO-26025: PersistenceException

Cause: An error occurred while trying to get System properties. Specifically, System.getProperties() call failed.

Action: If Business Components for Java is running inside JServer, make sure that the database user (schema) has the proper property permission. To grant this, database system can invoke the following PL/SQL procedure: EXEC DBMS_JAVA.GRANT_PERMISSION('&&1', 'SYS:java.util.PropertyPermission', '*', 'read');

JBO-26026: PersistenceException

Cause: An error occurred while trying to get load properties.

Action: Check to see if the named properties file contains valid Java properties.

JBO-26030: AlreadyLockedException

Cause: This row has already been locked by another user or transaction.

Action: Try locking the row again and the operation should succeed after the other user or transaction has released the lock.

JBO-26041: DMLException

Cause: Some database error occurred while posting (writing) an entity to the database. This error normally carries a detail exception from the database which will give further information about the database failure.

Action: Look at the details of the exception and address the database problem.

JBO-26042: DMLException

Cause: A database failure occurred while trying to generate an object ID (OID) and object reference (REF). When a new row is created on an entity which maps to an Oracle object table, an OID and REF for the new row are generated. This executes a SQL statement like select a.oid, make_ref(, a.oid) ... Somehow, this statement is failing.

Action: Check the following:

1. Are you using the right version of Oracle database?

2. Is the table in question an object table?

This error normally carries a detail exception from the database, which will give further information about the database failure. Take a look at the detail exception and address the database problem.

JBO-26043: DMLException

Cause: An attempt was made to generate an object ID (OID) and/or a reference (REF) on a database system that does not support Oracle objects.

Action: Do not try to create OID or REF on a database system that does not support Oracle objects.

JBO-26044: DMLException

Cause: The application tried to get an estimated row count (getEstimatedRowCount()) on a row set. While building the appropriate query statement, executing it, and retrieving the estimated count, an error occurred. This error is accompanied by the SQL statement that caused the error. Also, it normally carries a detail exception from database, which will give further information about the database failure.

Action: Take a look at the SQL statement and the detail exception and address the database problem.

JBO-26045: DMLException

Cause: A database occurred while trying to generate an object ID (OID) from the primary key. This operation is valid only if the table in question is an object table and if the table specifies that the reference (REF) is PK based.

Action: Check the following:

1. Are you using the right version of Oracle database?

2. Is the table in question an object table?

3. Does this object table use a PK-based REF?

This error normally carries a detail exception from database which will give further information about the database failure. Take a look at the detail exception and address the database problem.

JBO-26060: DMLException

Cause: A SQLException occurred while trying to register a JDBC driver.

Action: Fix the underlying SQLException.

JBO-26061: DMLException

Cause: A SQLException occurred while trying to open a JDBC connection.

Action: Fix the underlying SQLException.

JBO-26062: DMLException

Cause: A SQLException occurred while trying to close a JDBC connection.

Action: Fix the underlying SQLException.

JBO-26064: DMLException

Cause: A SQLException occurred while trying to close a JDBC connection.

Action: Fix the underlying SQLException.

JBO-26065: DMLException

Cause: A SQLException occurred during the commit phase of this transaction.

Action: Fix the underlying SQLException.

JBO-26066: DMLException

Cause: A SQLException occurred during the rollback phase of this transaction.

Action: Fix the underlying SQLException.

JBO-26067: JboException

Cause: An exception occurred while adding a JDBC connection to a pool that was already full.

Action: Modify the class that is using the pool to check the pool size before adding a new connection to the pool.

JBO-26068: JboException

Cause: The user attempted to return a connection to a pool that was not responsible for managing that connection.

Action: Modify the class that is using the pool to ensure that the connection belongs to the pool before returning the connection to the pool.

JBO-26069: JboException

Cause: A client request was timed out while waiting for a connection to be returned to the pool.

Action: Increase the maximum pool size in order to accommodate 2x the maximum expected active request size. /**

JBO-26070: DMLException

Cause: A SQLException occurred while setting up metadata JDBC statement.

Action: Fix the underlying SQLException. There might be a datatype mismatch between the attributes of the view object and columns in the SQL for it.

JBO-26080: DMLException

Cause: An unexpected exception occurred while executing the SQL to fetch data for an entity instance or lock it.

Action: Fix the cause for the SQLException in the details of this exception.

JBO-26081: SQLDatumException

Cause: A SQLException occurred when converting data from jdbc to oracle.jbo.domain.Struct attributes.

Action: Fix the conversion errors as suggested in SQLException.

JBO-26100: AfterCommitException

Cause: An exception occurred in the afterCommit notification phase of the transaction.

Action: Verify the exception in the details of this exception. Fix the failing afterCommit() overridden methods in the entities or transient TransactionListener objects registered with the transaction to listen into the commit/rollback cycle.

JBO-26101: AfterPostException

Cause: An exception occurred in the afterPost phase of the transaction.

Action: Verify the exception in the details of this exception. Fix the failing afterPost() overridden methods in the entities or transient TransactionPostListener objects registered with the transaction to listen into the post cycle.

JBO-26102: AfterRollbackException

Cause: An exception occurred in afterRollback notification phase of the transaction.

Action: Verify the exception in the details of this exception. Fix the failing afterCommit() overridden methods in the entities or transient TransactionListener objects registered with the transaction to listen into the commit/rollback cycle.

JBO-27001: ReadOnlyAttrException

Cause: This association attribute is marked readonly.

Action: Cannot modify the value of the association attribute as it is marked readonly.

JBO-27002: AttrSetValException

Cause: A custom validation rule failed to validate an attribute value.

Action: Fix the attribute value so that it passes the custom validation rule.

JBO-27003: ValidationException

Cause: Modified or new entities in this view object failed to validate.

Action: Fix the failing entity values and revalidate the view object.

JBO-27004: ReadOnlyAttrException

Cause: Attempting to modify a read-only entity-attribute.

Action: DO not modify a readonly attribute value.

JBO-27005: ValidationException

Cause: Modified or new entities within this application module or nested application module failed to validate.

Action: Fix the failing entities and then re-validate this application module.

JBO-27006: AttrValException

Cause: An attribute cannot be found by the given name during validation.

Action: Entity meta-data could be corrupt as there is an attribute which is to be validated but no definition could be found for that attribute in the meta-data.

JBO-27007: ValidationException

Cause: Attempting to validate a View Row failed.

Action: Fix the failing entities or attributes as found in the details of this exception.

JBO-27008: ReadOnlyAttrException

Cause: Attempting to modify a ViewRow attribute that is readonly

Action: Either change the Updateable flag for the View Attribute or do not attempt to update readonly attributes.

JBO-27009: ValidationException

Cause: Attempting to validate entities and attributes failed during validation of buffered attributes in Deferred Validation mode. (Not available in 3.x)

Action: Fix the failure cases.

JBO-27010: ValidatonException

Cause: For strings, the length of the string value provided for an attribute is more than the max-length this attribute expects. For Numeric values, the length of the value (in string form) is more than what the attribute expects.

Action: Fix the attribute value with respect to the precision and scale information for the failing attribute.

JBO-27011: AttrSetValException

Cause: A validation rule for an attribute failed either due to an unexpected exception in validating the attribute with that rule, or due to failure in evaluating the NOT operation on the rule.

Action: Fix the attribute value so that it validates against the failing rule.

JBO-27012: ValidationException

Cause: The custom method validator attached to an entity returned false, indicating a failure in the validation for that entity.

Action: Fix the cause for failure in the custom validation method for this attribute.

JBO-27013: ValidationException

Cause: The custom method validator attached to an attribute returned 'false' indicating a failure in validation for that attribute in the custom method.

Action: Fix the cause for failure in the custom validator method for this attribute.

JBO-27014: AttrValException

Cause: The attribute value cannot be null as it has been marked mandatory.

Action: Provide non-null values for mandatory attributes.

JBO-27015: ValidationException

Cause: In validating a master, some child entities were found that could not be validated. This occurs only in the case when there is a composition association between the master and detail entities.

Action: Fix the attribute values in the child entities so that they are valid when the child entities are validated by the master

JBO-27016: InvalidAttrKindException

Cause: An unexpected attribute kind found in the definition for a view object.

Action: Fix the attribute kind information in the xml-metadata definition for attributes in this view object.

JBO-27017: KeyNotFoundException

Cause: While loading the meta-data definition for this entity, there was no attribute marked as the primary key.

Action: Set at least one attribute as the primary key for this entity type, so that entities of this type can be uniquely identified.

JBO-27018: AttrSetValException

Cause: The type of attribute value provided as an argument to the set() method for this attribute is not an instance of the Java type that this attribute expects.

Action: Convert the argument to a proper Java type, such that it is an instance of the Java type that this attribute expects.

JBO-27019: AttrGetValException

Cause: An unexpected exception occurred in setAttribute method. Getter methods should throw a subclass of JboException so that custom exception messages are thrown/shown to the caller. This exception could also be thrown if the getter is not a public Java method.

Action: Do not throw any exception other than sub-classes of JboException from any business logic code in the getter method for an attribute. Also verify that the getter method is a public Java method.

JBO-27020:

Cause: An unexpected exception occurred in setAttribute method. Setter methods should throw a subclass of JboException so that custom exception messages are thrown/shown to the caller. This exception could also be thrown if the setter is not a public Java method.

Action: Do not throw any exception other than sub-classes of JboException from any business logic code in the setter method for an attribute. Also verify that the setter method is a public Java method.

JBO-27021: AttributeLoadException

Cause: An unexpected exception occurred during fetching values from a JDBC-resultset into an attribute for a row object. There could be conversion errors between the return type from JDBC for the attribute and it's Java type.

Action: Verify that the JDBC-SQL type and Java type for the attribute are compatible. Fix any conversion errors or domain exceptions that are in the details of this exception.

JBO-27022: AttributeLoadException

Cause: An unexpected exception occurred during fetching values from a JDBC-resultset into an attribute for a row object. There could be conversion errors between the return type from JDBC for the attribute and it's Java type.

Action: Verify that the JDBC-SQL type and Java type for the attribute are compatible. Fix any conversion errors or domain exceptions that are in the details of this exception.

JBO-27101: DeadEntityAccessException

Cause: Trying to refer to an invalid/obsolete entity. This could occur if some business logic has held on to an entity reference which was removed and the transaction has been posted or committed. It could also occur if a reference entity has been removed from the cache and any ViewRow is attempting to access it.

Action: Use findByPrimaryKey to find a valid entity of the desired key instead of holding on to a reference to an entity instance.

JBO-27102: DeadViewRowAccessException

Cause: Trying to access a ViewRow which is part of an obsolete/invalid collection. This could happen if a reference to the ViewRow is held by some business logic while the containing view object was removed.

Action: Find the referenced ViewRow either by re-querying or using findByKey methods to get a valid reference to the ViewRow.

JBO-27120: SQLStmtException

Cause: Failed to execute a query. This could occur when trying to execute a query for a SQLValue domain class or a Sequence domain.

Action: Fix the cause for the SQLException thrown by JDBC found in the details of this exception.

JBO-27121: SQLStmtException

Cause: Failed to execute a SQL statement.

Action: Fix the cause for the SQLException thrown by JDBC found in the details of this exception.

JBO-27122: SQLStmtException

Cause: Failed to prepare a JDBC PreparedStatement.

Action: Fix the cause for the SQLException thrown by JDBC found in the details of this exception.

JBO-27123: SQLStmtException

Cause: Failed to prepare a JDBC CallableStatement.

Action: Fix the cause for the SQLException thrown by JDBC found in the details of this exception.

JBO-27124: SQLStmtException

Cause: Failed to create a JDBC Statement object with the given set of parameters.

Action: Fix the cause for the SQLException thrown by JDBC found in the details of this exception.

JBO-28000: PCollException

Cause: The client specified a custom persistent collection through the jbo.pcoll.mgr property. However, the class specified could not be located or loaded.

Action: Make sure that the name specified for jbo.pcoll.mgr is for a valid class name. The class name should be fully qualified with the package name. A special keyword None represents no persistent collection manager, i.e., no spilling to disk will occur.

JBO-28001: PCollException

Cause: An error occurred while attempting to get a JDBC connection for persistent collection management.

Action: Make sure that the database connection URL is correct. The detail to this exception will give further information on the problem.

JBO-28002: PCollException

Cause: An error occurred while creating "persistent collection control table." Normally, the control table's name is PCOLL_CONTROL.

Action: Check to make sure that the connection has appropriate authority to create a table. The detail to this exception will give further information on the problem.

JBO-28004: PCollException

Cause: An error occurred while trying to lock the persistent collection control row. This error is thrown in two situations:

Action: In the first case, see the details of this exception for further information on the database problem. In the second case, make sure that no other user locks the control rows outside the Business Components framework.

JBO-28005: PCollException

Cause: An unexpected error occurred while attempting to update the persistent collection control row.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28006: PCollException

Cause: An error occurred while attempting to create a database table to store persistent collection material.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28007: PCollException

Cause: An unexpected error occurred while attempting to commit persistent collection changes.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28009: PCollException

Cause: An unexpected error occurred while attempting to get the system date from the database. For the Oracle persistent manager, the SQL statement used for this would be "select sysdate from dual".

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28020: PCollException

Cause: An unexpected error occurred while passivating objects into the persistent store. An exception may have been thrown during serialization.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28021: PCollException

Cause: An unexpected error occurred while activating objects from the persistent store. An exception may have been thrown during deserialization.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28030: PCollException

Cause: An unexpected error occurred while inserting a passivation row into the persistent store table.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28031: PCollException

Cause: An unexpected error occurred while updating a passivation row in the persistent store table.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28032: PCollException

Cause: An unexpected error occurred while deleting a passivation row from the persistent store table.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28033: PCollException

Cause: An unexpected error occurred while retrieving a passivation row from the persistent store table.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28034: PCollException

Cause: The client attempted to retrieve a row in a persistent collection by an id, but the by-id access is not enabled on the persistent collection.

Action: Enable by-id access by calling PCollection.enableIdAccess.

JBO-28035: PCollException

Cause: The client attempted to retrieve a row by an id, but the id value is invalid. The id must be greater than 0.

Action: Give a valid id.

JBO-28036: PCollException

Cause: While attempting to activate an object of a given id, an internal integrity problem was found. In particular, a node which was thought to be passivated was found to be active.

Action: Contact Business Components for Java Technical Support with how you ran into the problem.

JBO-28037: PCollException

Cause: While attempting to activate an object of a given id, an internal integrity problem was found. In particular, a child node/element expected to be found in a node is missing.

Action: Contact Business Components for Java Technical Support with how you ran into the problem.

JBO-28038: PCollException

Cause: An unexpected error occurred while deleting all passivation rows from the persistent store table.

Action: Look at the details of this exception for further information on the problem and how to address it.

JBO-28039: PCollException

Cause: While attempting to activate an object of a given id, an internal integrity problem was found. In particular, the root node of the persistent collection is no good. It is either (1) null, (2) has younger or older sibling, or (3) has a parent node. None of these should apply to the root node.

Action: Contact Business Components for Java Technical Support with how you ran into the problem.

JBO-28200: JboException

Cause: Invalid entities still found in the validation list of the transaction after attempting to validate all invalid entities for the VALIDATION_THRESHOLD 10 times (by default).

Action: Fix any logic that invalidates entity instances in the validation cycle (perhaps in overridden validateEntity() methods) such that all entities are valid before the VALIDATION_THRESHOLD limit is reached.

JBO-28201: JboException

Cause: There are invalid entities or entities in the post list of the transaction after trying to post all changes for the POST_THRESHOLD 10 times (by default).

Action: Fix any logic that places entities in the transaction's list of entities to be validated or posted in the post cycle, such that all entities get posted before the POST_THRESHOLD is reached.

JBO-28202: JboException

Cause: Invalid entity instances found in the transaction in the beforeCommit phase.

Action: Fix any business logic that invalidates entity instances in postChanges() such that there are no more invalid entities after all changes are posted during the commit cycle.

JBO-29000: JboException

Cause: If an unexpected exception occurs during a framework operation, this exception is thrown, with the unexpected exception included in the details of this exception.

Action: Fix the cause for the exception in the details for this JboException.

JBO-55001: VariantException

Cause: Unexpected type was provided to Variant utility.

Action: Provide an expected type as reported in the exception.

JBO-55002: VariantException

Cause: The data-type passed to the Variant utility from a Validation rule is invalid. This could be due to a corrupt XML-metadata definition in the component's XML file.

Action: Fix the component XML for the offending validation rule.

JBO-55003: VariantException

Cause: The name of the variant type passed to the Variant utility from a Validation rule is invalid. This could be due to a corrupt XML meta data definition in the component's XML file.

Action: Fix the component XML for the offending validation rule.