Hi,

On Jan 22, 2008 8:01 PM, Jim_Cross <[EMAIL PROTECTED]> wrote:
> Today I managed to get Jackrabbit 1.3 working with Oracle 9i, and all looked
> good. I then tried doing the same with Jackrabbit 1.4, but get the exception
> below.
>
> ORA-01400: cannot insert NULL into ("DICE_DBO"."DEFAULT_NAMES"."ID")
> [...]
> I'm pretty sure this is user error rather than a bug, can anyone confirm
> this? If so, what is the correct procedure for creating an Oracle-backed
> repository/workspace?

In fact it is a known bug, see JCR-936 [1]. For some reason the
trigger that sets the ID column is not available or does not work
properly. This trigger should have been automatically generated when
the persistence manager was first started:

    create trigger DEFAULT_t1
        before insert on DEFAULT_NAMES
        for each row begin
            select DEFAULT_seq_names_id.nextval into :new.id from dual;
        end;

You may want to try creating the trigger manually.

> I also noticed the following warning in the log:
>
> 22.01.2008 17:14:07 *WARN * OraclePersistenceManager: Unsupported driver
> version detected: Oracle JDBC driver v9.2.0.1.0 
> (OraclePersistenceManager.java,
> line 121)
>
> Could this be relevant? I don't remember seeing this with v1.3.3

The error is coming from the normal OraclePersistenceManager code that
Oracle9PersistenceManager inherits. You can ignore the warning, as
Oracle9PersistenceManager works around the issue in the older Oracle
JDBC driver. We should probably override the warning so that it
appears in the normal Oracle persistence manager but not in the
Oracle9 subclass.

[1] https://issues.apache.org/jira/browse/JCR-936

BR,

Jukka Zitting

Reply via email to