You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Ja...@tessella.com on 2013/11/07 10:45:40 UTC

SDBException

Hi

I'm pretty new to Jena/SDB but have been having a problem running on 
Oracle with
the LayoutTripleNodesIndex database layout.

I've been seeing the following error when saving triples.

My question are:

what is the NNODEQUADS table used for? and what data is stored in the N2 
column? and why is it set 
as a NVARCHAR(10 CHAR)?




com.hp.hpl.jena.sdb.SDBException: Exception flushing
        at 
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.flush(TupleLoaderBase.java:234)
        at 
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.finish(TupleLoaderBase.java:169)
        at 
com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.commitTuples(LoaderTuplesNodes.java:306)
        at 
com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.access$100(LoaderTuplesNodes.java:43)
        at 
com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes$Commiter.run(LoaderTuplesNodes.java:346)
        at java.lang.Thread.run(Thread.java:724)
Caused by: java.sql.BatchUpdateException: ORA-12899: value too large for 
column "REGISTRY"."NNODEQUADS"."N2" (actual: 57, maximum: 10)

        at 
oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10070)
        at 
oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:213)
        at 
com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.flush(TupleLoaderBase.java:214)
        ... 5 more

Thanks



~
James Carr


Re: SDBException

Posted by Ja...@tessella.com.
Hi

Thanks for the information that was useful,  we are not actually using the 
'lang'  attribute, so will keep looking.

~
James





From:   Damian Steer <d....@bris.ac.uk>
To:     users@jena.apache.org, 
Date:   07/11/2013 11:09
Subject:        Re: SDBException
Sent by:        Damian Steer <cm...@bristol.ac.uk>




On 7 Nov 2013, at 09:45, James.Carr@tessella.com wrote:

> Hi
> 
> I'm pretty new to Jena/SDB but have been having a problem running on 
> Oracle with
> the LayoutTripleNodesIndex database layout.
> 
> I've been seeing the following error when saving triples.
> 
> My question are:
> 
> what is the NNODEQUADS table used for? and what data is stored in the N2 

> column? and why is it set 
> as a NVARCHAR(10 CHAR)?

NNODEQUADS is a temporary table used for bulk loading. It's essentially a 
denormalised (well, pre-normalised) quad store, laid out like:

[ Node1 values , Node2 values , Node3 values , Node4 values ]

Where each node is made of hash, lex, lang, datatype, ...

The N2 column would be 'lang', so it sounds like you have a very large 
lang value somewhere. Does that sound likely?

Damian

Re: SDBException

Posted by Damian Steer <d....@bris.ac.uk>.
On 7 Nov 2013, at 09:45, James.Carr@tessella.com wrote:

> Hi
> 
> I'm pretty new to Jena/SDB but have been having a problem running on 
> Oracle with
> the LayoutTripleNodesIndex database layout.
> 
> I've been seeing the following error when saving triples.
> 
> My question are:
> 
> what is the NNODEQUADS table used for? and what data is stored in the N2 
> column? and why is it set 
> as a NVARCHAR(10 CHAR)?

NNODEQUADS is a temporary table used for bulk loading. It's essentially a denormalised (well, pre-normalised) quad store, laid out like:

[ Node1 values , Node2 values , Node3 values , Node4 values ]

Where each node is made of hash, lex, lang, datatype, ...

The N2 column would be 'lang', so it sounds like you have a very large lang value somewhere. Does that sound likely?

Damian