Jack Rabbit support for sybase

View: New views
5 Messages — Rating Filter:   Alert me  

Jack Rabbit support for sybase

by Pulla Venkat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Jack Rabbit seems to be lacking in sybase support. I didn't find much useful
information as how to proceed with sybase.

This issue has been reported before in user group and open issues area in
jackrabbit. Will this get resolved soon ?.

We desparately need to support sybase for jackrabbit for our application.

we are having issues in writing our own implementation of persistence
manager for sybase.

Any useful pointers are welcome.

Thanks,
Maruti

Re: Jack Rabbit support for sybase

by Stefan Guggisberg-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, May 7, 2008 at 5:08 PM, Pulla Venkat <pcsri1956@...> wrote:
> Hi,
>
>  Jack Rabbit seems to be lacking in sybase support. I didn't find much useful
>  information as how to proceed with sybase.
>
>  This issue has been reported before in user group and open issues area in
>  jackrabbit. Will this get resolved soon ?.

no, i don't think so. unless somebody takes the plunge and contributes
his work... ;)

>
>  We desparately need to support sybase for jackrabbit for our application.
>
>  we are having issues in writing our own implementation of persistence
>  manager for sybase.

what issues?

>
>  Any useful pointers are welcome.

start here: http://issues.apache.org/jira/browse/JCR-1320

take a look at the existing implementations in the
o.a.j.c.persistence.bundle package.

configure e.g. BundleDbPersistenceManager to use the ddl files
attached to the above issue,

debug any issues you'll run into, create a specialized subclass
of BundleDbPersistenceManager and address the issues in
method overrides

cheers
stefan

>
>  Thanks,
>  Maruti
>

Re: Jack Rabbit support for sybase

by Dave Brosius-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

One thing that appears to me is that in
jackrabbit-core\src\main\resources\org\apache\jackrabbit\core\persistence\bundle\sybase.ddl

create table ${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY(1,1) PRIMARY
KEY, NAME varchar(255) COLLATE Latin1_General_CS_AS not null)


is a statement that has trouble

I believe

create table ${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY PRIMARY KEY,
NAME varchar(255) not null)

works, but then i get the following trying to initialize the VersionManager
org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle:
deadbeef-face-babe-cafe-babecafebabe: java.sql.SQLException: SQL Anywhere
Error -110: Item 'jtds000001' already exists

at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1161)

at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1094)

at
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:671)

at
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.exists(AbstractBundlePersistenceManager.java:496)

at
org.apache.jackrabbit.core.version.VersionManagerImpl.<init>(VersionManagerImpl.java:141)

at
org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:436)

at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:300)

at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:590)

at
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:241)

at
org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:261)

at
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:329)

at JRSybase.main(JRSybase.java:17)

Caused by: java.sql.SQLException: SQL Anywhere Error -110: Item 'jtds000001'
already exists

at
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)

at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)

at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)

at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:633)

at
net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)

at
net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)

at
net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:475)

at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:371)

at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:298)

at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:261)

at
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:239)

at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1136)

... 11 more




----- Original Message -----
From: "Stefan Guggisberg" <stefan.guggisberg@...>
To: <users@...>
Sent: Wednesday, May 07, 2008 10:27 AM
Subject: Re: Jack Rabbit support for sybase


> On Wed, May 7, 2008 at 5:08 PM, Pulla Venkat <pcsri1956@...> wrote:
>> Hi,
>>
>>  Jack Rabbit seems to be lacking in sybase support. I didn't find much
>> useful
>>  information as how to proceed with sybase.
>>
>>  This issue has been reported before in user group and open issues area
>> in
>>  jackrabbit. Will this get resolved soon ?.
>
> no, i don't think so. unless somebody takes the plunge and contributes
> his work... ;)
>
>>
>>  We desparately need to support sybase for jackrabbit for our
>> application.
>>
>>  we are having issues in writing our own implementation of persistence
>>  manager for sybase.
>
> what issues?
>
>>
>>  Any useful pointers are welcome.
>
> start here: http://issues.apache.org/jira/browse/JCR-1320
>
> take a look at the existing implementations in the
> o.a.j.c.persistence.bundle package.
>
> configure e.g. BundleDbPersistenceManager to use the ddl files
> attached to the above issue,
>
> debug any issues you'll run into, create a specialized subclass
> of BundleDbPersistenceManager and address the issues in
> method overrides
>
> cheers
> stefan
>
>>
>>  Thanks,
>>  Maruti
>>


Parent Message unknown Re: Jack Rabbit support for sybase

by Eric.Farrar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It seems to me that there may be some confusion between two separate
Sybase databases. The Sybase database driver that is referenced in the
link given (http://db.apache.org/ddlutils/databases/sybase.html) seems to
be for Sybase Adaptive Server Enterprise (ASE) 11.5.
However, based on the error message you are getting,
"java.sql.SQLException: SQL Anywhere Error -110" it would seem that you
are not actually using Sybase ASE, but rather Sybase SQL Anywhere
(formerly called Sybase Adaptive Server Anywhere )
(http://www.sybase.com/products/databasemanagement/sqlanywhere).

Although the databases share similar SQL syntax, I would not expect a
Sybase ASE driver to work with SQL Anywhere without modification.

> One thing that appears to me is that in
>
jackrabbit-core\src\main\resources\org\apache\jackrabbit\core\persistence\bundle\sybase.ddl
>
> create table ${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY(1,1)
PRIMARY
> KEY, NAME varchar(255) COLLATE Latin1_General_CS_AS not null)
>
>
> is a statement that has trouble
>
> I believe
>
> create table ${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY PRIMARY
KEY,
> NAME varchar(255) not null)
>
> works, but then i get the following trying to initialize the
VersionManager
> org.apache.jackrabbit.core.state.ItemStateException: failed to read
bundle:
> deadbeef-face-babe-cafe-babecafebabe: java.sql.SQLException: SQL
Anywhere
> Error -110: Item 'jtds000001' already exists
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1161)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1094)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:671)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.exists(AbstractBundlePersistenceManager.java:496)
>
> at
>
org.apache.jackrabbit.core.version.VersionManagerImpl.<init>(VersionManagerImpl.java:141)
>
> at
>
org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:436)
>
> at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:300)
>
> at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:590)
>
> at
>
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:241)
>
> at
>
org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:261)
>
> at
>
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:329)
>
> at JRSybase.main(JRSybase.java:17)
>
> Caused by: java.sql.SQLException: SQL Anywhere Error -110: Item
'jtds000001'
> already exists
>
> at
>
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
>
> at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
>
> at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
>
> at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:633)
>
> at
>
net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
>
> at
>
net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
>
> at
>
net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:475)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:371)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:298)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:261)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:239)
>
> at
>
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1136)

>
> ... 11 more
>
>
>
>
> ----- Original Message -----
> From: "Stefan Guggisberg" <stefan.guggisberg@...>
> To: <users@...>
> Sent: Wednesday, May 07, 2008 10:27 AM
> Subject: Re: Jack Rabbit support for sybase
>
>
>> On Wed, May 7, 2008 at 5:08 PM, Pulla Venkat <pcsri1956@...>
wrote:
>>> Hi,
>>>
>>>  Jack Rabbit seems to be lacking in sybase support. I didn't find much

>>> useful
>>>  information as how to proceed with sybase.
>>>
>>>  This issue has been reported before in user group and open issues
area

>>> in
>>>  jackrabbit. Will this get resolved soon ?.
>>
>> no, i don't think so. unless somebody takes the plunge and contributes
>> his work... ;)
>>
>>>
>>>  We desparately need to support sybase for jackrabbit for our
>>> application.
>>>
>>>  we are having issues in writing our own implementation of persistence
>>>  manager for sybase.
>>>
>> what issues?
>>
>>>
>>>  Any useful pointers are welcome.
>>
>> start here: http://issues.apache.org/jira/browse/JCR-1320
>>
>> take a look at the existing implementations in the
>> o.a.j.c.persistence.bundle package.
>>
>> configure e.g. BundleDbPersistenceManager to use the ddl files
>> attached to the above issue,
>>
>> debug any issues you'll run into, create a specialized subclass
>> of BundleDbPersistenceManager and address the issues in
>> method overrides
>>
>> cheers
>> stefan
>>
>>>
>>>  Thanks,
>>>  Maruti
>>>

Re: Jack Rabbit support for sybase

by Pulla Venkat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I am getting following error with ASE 15.0  & JackRabbit. I running FirstHop
example. I am not able to intialize  the repository. Error results are
similar to what are reported above.


Sybase ASE 15.0

-------------------------------------

Exception in thread "main" *javax.jcr.RepositoryException*: failed to write
bundle: deadbeef-face-babe-cafe-babecafebabe: failed to write bundle:
deadbeef-face-babe-cafe-babecafebabe

at org.apache.jackrabbit.core.version.VersionManagerImpl.<init>(*
VersionManagerImpl.java:177*)

at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(*
RepositoryImpl.java:393*)

at org.apache.jackrabbit.core.RepositoryImpl.<init>(*RepositoryImpl.java:293
*)

at org.apache.jackrabbit.core.RepositoryImpl.create(*RepositoryImpl.java:550
*)

at org.apache.jackrabbit.core.TransientRepository$2.getRepository(*
TransientRepository.java:245*)

at org.apache.jackrabbit.core.TransientRepository.startRepository(*
TransientRepository.java:265*)

at org.apache.jackrabbit.core.TransientRepository.login(*
TransientRepository.java:333*)

at org.apache.jackrabbit.core.TransientRepository.login(*
TransientRepository.java:388*)

at com.syb.FirstHop.main(*FirstHop.java:21*)

Caused by: *org.apache.jackrabbit.core.state.ItemStateException*: failed to
write bundle: deadbeef-face-babe-cafe-babecafebabe

at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(
*BundleDbPersistenceManager.java:544*)

at org.apache.jackrabbit.core.version.VersionManagerImpl.<init>(*
VersionManagerImpl.java:162*)

... 8 more
*

org.apache.jackrabbit.core.state.ItemStateException*: failed to write
bundle: deadbeef-face-babe-cafe-babecafebabe

at
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(
*BundleDbPersistenceManager.java:544*)

at org.apache.jackrabbit.core.version.VersionManagerImpl.<init>(*
VersionManagerImpl.java:162*)

at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(*
RepositoryImpl.java:393*)

at org.apache.jackrabbit.core.RepositoryImpl.<init>(*RepositoryImpl.java:293
*)

at org.apache.jackrabbit.core.RepositoryImpl.create(*RepositoryImpl.java:550
*)

at org.apache.jackrabbit.core.TransientRepository$2.getRepository(*
TransientRepository.java:245*)

at org.apache.jackrabbit.core.TransientRepository.startRepository(*
TransientRepository.java:265*)

at org.apache.jackrabbit.core.TransientRepository.login(*
TransientRepository.java:333*)

at org.apache.jackrabbit.core.TransientRepository.login(*
TransientRepository.java:388*)

at com.syb.FirstHop.main(*FirstHop.java:21*)


On Thu, May 8, 2008 at 10:44 AM, <Eric.Farrar@...> wrote:

> It seems to me that there may be some confusion between two separate
> Sybase databases. The Sybase database driver that is referenced in the
> link given (http://db.apache.org/ddlutils/databases/sybase.html) seems to
> be for Sybase Adaptive Server Enterprise (ASE) 11.5.
> However, based on the error message you are getting,
> "java.sql.SQLException: SQL Anywhere Error -110" it would seem that you
> are not actually using Sybase ASE, but rather Sybase SQL Anywhere
> (formerly called Sybase Adaptive Server Anywhere )
> (http://www.sybase.com/products/databasemanagement/sqlanywhere).
>
> Although the databases share similar SQL syntax, I would not expect a
> Sybase ASE driver to work with SQL Anywhere without modification.
>
> > One thing that appears to me is that in
> >
>
> jackrabbit-core\src\main\resources\org\apache\jackrabbit\core\persistence\bundle\sybase.ddl
> >
> > create table ${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY(1,1)
> PRIMARY
> > KEY, NAME varchar(255) COLLATE Latin1_General_CS_AS not null)
> >
> >
> > is a statement that has trouble
> >
> > I believe
> >
> > create table ${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY PRIMARY
> KEY,
> > NAME varchar(255) not null)
> >
> > works, but then i get the following trying to initialize the
> VersionManager
> > org.apache.jackrabbit.core.state.ItemStateException: failed to read
> bundle:
> > deadbeef-face-babe-cafe-babecafebabe: java.sql.SQLException: SQL
> Anywhere
> > Error -110: Item 'jtds000001' already exists
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1161)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1094)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:671)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.exists(AbstractBundlePersistenceManager.java:496)
> >
> > at
> >
>
> org.apache.jackrabbit.core.version.VersionManagerImpl.<init>(VersionManagerImpl.java:141)
> >
> > at
> >
>
> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:436)
> >
> > at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:300)
> >
> > at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:590)
> >
> > at
> >
>
> org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:241)
> >
> > at
> >
>
> org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:261)
> >
> > at
> >
>
> org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:329)
> >
> > at JRSybase.main(JRSybase.java:17)
> >
> > Caused by: java.sql.SQLException: SQL Anywhere Error -110: Item
> 'jtds000001'
> > already exists
> >
> > at
> >
>
> net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
> >
> > at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
> >
> > at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
> >
> > at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:633)
> >
> > at
> >
>
> net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
> >
> > at
> >
> net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
> >
> > at
> >
>
> net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:475)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:371)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:298)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:261)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:239)
> >
> > at
> >
>
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1136)
> >
> > ... 11 more
> >
> >
> >
> >
> > ----- Original Message -----
> > From: "Stefan Guggisberg" <stefan.guggisberg@...>
> > To: <users@...>
> > Sent: Wednesday, May 07, 2008 10:27 AM
> > Subject: Re: Jack Rabbit support for sybase
> >
> >
> >> On Wed, May 7, 2008 at 5:08 PM, Pulla Venkat <pcsri1956@...>
> wrote:
> >>> Hi,
> >>>
> >>>  Jack Rabbit seems to be lacking in sybase support. I didn't find much
>
> >>> useful
> >>>  information as how to proceed with sybase.
> >>>
> >>>  This issue has been reported before in user group and open issues
> area
> >>> in
> >>>  jackrabbit. Will this get resolved soon ?.
> >>
> >> no, i don't think so. unless somebody takes the plunge and contributes
> >> his work... ;)
> >>
> >>>
> >>>  We desparately need to support sybase for jackrabbit for our
> >>> application.
> >>>
> >>>  we are having issues in writing our own implementation of persistence
> >>>  manager for sybase.
> >>>
> >> what issues?
> >>
> >>>
> >>>  Any useful pointers are welcome.
> >>
> >> start here: http://issues.apache.org/jira/browse/JCR-1320
> >>
> >> take a look at the existing implementations in the
> >> o.a.j.c.persistence.bundle package.
> >>
> >> configure e.g. BundleDbPersistenceManager to use the ddl files
> >> attached to the above issue,
> >>
> >> debug any issues you'll run into, create a specialized subclass
> >> of BundleDbPersistenceManager and address the issues in
> >> method overrides
> >>
> >> cheers
> >> stefan
> >>
> >>>
> >>>  Thanks,
> >>>  Maruti
> >>>
>