jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antonis Tsaltas <Antonis.Tsal...@eurodyn.com>
Subject Re: Oracle as Persistence manager
Date Tue, 20 Dec 2005 13:19:13 GMT
Nicolas Jouanin wrote:

>Hi,
>
>As i said, may be it comes from the fact that the orginial ddl file (
>mysql.ddl) uses CHAR type for table columns. I replaced them by VARCHAR2
>columns.
>Have your tried the same, or have you let let the CHAR datatype ?
>
>I'll try to get back to CHAR datatype and try to run jLibrary with it.I'll
>tell you the result.
>
>
>2005/12/20, Antonis Tsaltas <Antonis.Tsaltas@eurodyn.com>:
>  
>
>>nicolas.jouanin wrote:
>>
>>    
>>
>>>Hi,
>>>
>>>
>>>
>>>I read a previous thread concerning the use of Oracle with JackRabbit
>>>(see below for copy).
>>>
>>>As written, it seems not so simple to make it work.
>>>
>>>Nevertheless, I wrote an oracle.ddl file (attached to this email)
>>>based on mysql.ddl where I simply replaced some data types:
>>>
>>>-          longblob -> blob
>>>
>>>-          char -> varchar2 (Oracle doesn't like char)
>>>
>>>
>>>
>>>Then I configured repository.xml correctly and used this configuration
>>>to run this famous jLibrary software. To my surprise it worked, and
>>>managed to create a repository, and add some nodes  : some jlibrary
>>>folders, and some PDF documents node.
>>>
>>>
>>>
>>>So , it may be need some more testing ; has someone achieved to make
>>>jackrabbit run with Oracle, let me know.
>>>
>>>
>>>
>>>Regards, Nicolas.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>Original message:
>>>
>>>
>>>
>>>
>>>
>>>Antonis Tsaltas
>>>
>>><Antonis.Tsaltas@eurodyn.com>to jackrabbit-dev
>>>
>>>             More options     Dec 15 (3 days ago)
>>>
>>>Dear all,
>>>
>>>
>>>
>>>I am trying to use oracle with jackrabbit and the steps I have followed
>>>
>>>are the following:
>>>
>>>
>>>
>>>1) I have created the ddl files needed for creating the schemas with
>>>
>>>oracle database similar to the existing ones and add them to the
>>>
>>>appropriate package in the jackrabbit jar generated after the build.
>>>
>>>However, when I tried to run a sample application I got nested
>>>
>>>exceptions during the configuration of the repository and more specific
>>>
>>>during the insertion of the root node due to the case that Oracle is
>>>
>>>treating an emptry string and null as the same and the fsname of the
>>>
>>>root node is empty string.
>>>
>>>
>>>
>>>2) Next I tried to allow nullable values for the fsname as this will
>>>
>>>only be the case for the root node and there will be no manual updates
>>>
>>>to the repository. At this point it failed again when it tried to add an
>>>
>>>entry '/meta' in fsentries table when it was checking if the parent of
>>>
>>>this node exists (which is root node '/' ). There it performs the
>>>
>>>following query:
>>>
>>>
>>>
>>>select 1 from REP_FSENTRY where FSENTRY_PATH = '/' and
>>>
>>>FSENTRY_NAME is null
>>>
>>>
>>>
>>>which is in oracle equivalent with this:
>>>
>>>
>>>
>>>select 1 from REP_FSENTRY where FSENTRY_PATH = '/' and
>>>
>>>FSENTRY_NAME=''
>>>
>>>
>>>
>>>and then it tries to insert the root node again but there is the logical
>>>
>>>constraint:
>>>
>>>
>>>
>>>create unique index ${schemaObjectPrefix}FSENTRY_IDX on
>>>
>>>${schemaObjectPrefix}FSENTRY
>>>
>>> (FSENTRY_PATH, FSENTRY_NAME).
>>>
>>>
>>>
>>>Are there any suggestion or does anyone know if jackrabbit can work fine
>>>
>>>with oracle db server?
>>>
>>>
>>>
>>>Thanx
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Stefan Guggisberg
>>>
>>>to jackrabbit-dev
>>>
>>>             More options     Dec 15 (3 days ago)
>>>
>>>hi antonis
>>>
>>>- Show quoted text -
>>>
>>>
>>>
>>>well there's no reason why that shouldn't be the case in general.
>>>
>>>but because of oracle's rather exotic and non-standard 'feature' of
>>>treating
>>>
>>>empty values as null you will probably have to write some oracle
>>>      
>>>
>>specific
>>    
>>
>>>code :(
>>>
>>>
>>>
>>>cheers
>>>
>>>stefan
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>      
>>>
>>>>Thanx
>>>>        
>>>>
>>Hi Nicolas,
>>
>>I tried to do what you described in your mail from scratch, but the
>>exception that I received during configuration of the repository is the
>>following, which is due to Oracle's aproach of treating NULL and empty
>>string in the same way (for the root node tries to insert '/' as path
>>and '' as name where it fails):
>>
>>org.apache.jackrabbit.core.config.ConfigurationException: File system
>>initialization failure.: failed to initialize file system: failed to
>>create folder entry: /: ORA-01400: cannot insert NULL into
>>("RABBIT"."REP_FSENTRY"."FSENTRY_NAME")
>>: failed to initialize file system: failed to create folder entry: /:
>>ORA-01400: cannot insert NULL into ("RABBIT"."REP_FSENTRY"."FSENTRY_NAME")
>>
>>    at
>>org.apache.jackrabbit.core.config.FileSystemConfig.init(
>>FileSystemConfig.java:61)
>>    at
>>org.apache.jackrabbit.core.config.RepositoryConfig.init(
>>RepositoryConfig.java:250)
>>    at
>>org.apache.jackrabbit.core.config.RepositoryConfig.create(
>>RepositoryConfig.java:136)
>>    at
>>org.apache.jackrabbit.core.config.RepositoryConfig.create(
>>RepositoryConfig.java:78)
>>    at
>>org.apache.jackrabbit.core.jndi.BindableRepository.init(
>>BindableRepository.java:122)
>>    at
>>org.apache.jackrabbit.core.jndi.BindableRepository.create(
>>BindableRepository.java:110)
>>    at
>>org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(
>>RegistryHelper.java:57)
>>    at ed.doc.mgt.test.RepositoryManager.<init>(RepositoryManager.java:82)
>>    at
>>ed.doc.mgt.test.RepositoryManager.configRep(RepositoryManager.java:465)
>>    at ed.doc.mgt.test.RepositoryManager.main(RepositoryManager.java:443)
>>Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to
>>initialize file system: failed to create folder entry: /: ORA-01400:
>>cannot insert NULL into ("RABBIT"."REP_FSENTRY"."FSENTRY_NAME")
>>
>>    at
>>org.apache.jackrabbit.core.fs.db.DbFileSystem.init(DbFileSystem.java:344)
>>    at
>>org.apache.jackrabbit.core.config.FileSystemConfig.init(
>>FileSystemConfig.java:55)
>>    ... 9 more
>>Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to
>>create folder entry: /: ORA-01400: cannot insert NULL into
>>("RABBIT"."REP_FSENTRY"."FSENTRY_NAME")
>>
>>    at
>>org.apache.jackrabbit.core.fs.db.DbFileSystem.createDeepFolder(
>>DbFileSystem.java:1256)
>>    at
>>org.apache.jackrabbit.core.fs.db.DbFileSystem.verifyRoodExists(
>>DbFileSystem.java:1225)
>>    at
>>org.apache.jackrabbit.core.fs.db.DbFileSystem.init(DbFileSystem.java:338)
>>    ... 10 more
>>Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into
>>("RABBIT"."REP_FSENTRY"."FSENTRY_NAME")
>>
>>
>>
>>    
>>
>
>  
>
Hi,

Yes I have done that. However, the error does not seem to be relevant to 
that.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message