[ 
https://issues.apache.org/jira/browse/JCR-2414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12784853#action_12784853
 ] 

premkumar commented on JCR-2414:
--------------------------------

Yep, I debugged Jackrabbit and I found that the problem is with the .(dot) 
which is coming after the prefix scott1. 
Jackrabbit core has classes for all DB components like (DbDataStore),  there 
schemaObjectPrefix is validated. If .(dot) comes in prefix, It will be replaced 
with some other characters.  For Example scott.FS_ will be replaces as 
scott1x001FS_
That is why I was getting exception ORA-00942: table or view does not exist
I Just added .(dot) in the String(legalChars) which is used for validating 
schemaObjectPrefix. Now .(dot) becomes legal and Its working fine. :) 

I've put fixes in Jackrabbit core JAR for making this work. 

> Problem with multiple SCHEMA
> ----------------------------
>
>                 Key: JCR-2414
>                 URL: https://issues.apache.org/jira/browse/JCR-2414
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>         Environment: Oracle 9i, Windows XP/Linux
>            Reporter: premkumar
>             Fix For: 1.6.0
>
>         Attachments: repository.xml, workspace.xml
>
>
> I'm having 2 schema (scott & scott1) for a single instance orcl. I Inserted 
> all Jackrabbit dll and made schemaCheckEnabled to false for scott schema and 
> its working fine for scott. But when I try for scott1 Its throwing exception 
> (ORA-00942: table or view does not exist). Attached repository.xml for your 
> reference. 
> javax.jcr.RepositoryException: File system initialization failure.: failed to 
> initialize file system: failed to initialize file system
>       at 
> org.apache.jackrabbit.core.config.RepositoryConfigurationParser$4.getFileSystem(RepositoryConfigurationParser.java:825)
>       at 
> org.apache.jackrabbit.core.config.RepositoryConfig.getFileSystem(RepositoryConfig.java:778)
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:268)
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:627)
>       at 
> org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141)
>       at 
> org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117)
>       at 
> org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106)
>       at 
> org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:51)
>       at 
> org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(RegistryHelper.java:74)
>       at com.jcr.test.ContentRepository.<clinit>(ContentRepository.java:65)
> Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to 
> initialize file system
>       at 
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:226)
>       at 
> org.apache.jackrabbit.core.fs.db.OracleFileSystem.init(OracleFileSystem.java:137)
>       at 
> org.apache.jackrabbit.core.config.RepositoryConfigurationParser$4.getFileSystem(RepositoryConfigurationParser.java:818)
>       ... 9 more
> Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to check 
> existence of file system root entry
>       at 
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.verifyRootExists(DatabaseFileSystem.java:1387)
>       at 
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:220)
>       ... 11 more
> Caused by: java.sql.SQLException: ORA-00942: table or view does not exist
>       at 
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
>       at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
>       at 
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
>       at 
> oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:799)
>       at 
> oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
>       at 
> oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
>       at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
>       at 
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
>       at 
> oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
>       at 
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1101)
>       at 
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.verifyRootExists(DatabaseFileSystem.java:1375)
>       ... 12 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to