jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric.Far...@sybase.com
Subject Re: Jack Rabbit support for sybase
Date Thu, 08 May 2008 14:44:49 GMT
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@day.com>
> To: <users@jackrabbit.apache.org>
> 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@gmail.com> 
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
>>> 

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