Mailing List Archive

OracleStorage problem
Hello all.

After installing a Oracle8i client in my Zope machine(2.8.3) and compiling
DCOracle2 product satisfactory, I added the DCOracle2 and DCOracleStorage
Directories at $ZOPE_INSTANCE/lib/python. Later, I created a
zodb_custom.py file at $ZOPE_INSTANCE and fixed $ORACLE_HOME variable at
my oracle_home client Directory.

My Oracle8i Database resides in other machine Zope resides. I fixed
tnsnames.ora of my Oracle client correctly to the Oracle machine(Solaris
9).

I executed the sqlplus -s user/pw@sid @Full.sql sentence and tables were
created correctly in Oracle machine.

The problem resides at startup Zope, showing this error:

Traceback (most recent call last):
File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/run.py", line
56, in ?
run()
File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/run.py", line
21, in run
starter.prepare()
File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/__init__.py",
line 98, in prepare
self.startZope()
File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/__init__.py",
line 257, in startZope
Zope2.startup()
File "/home/jagarrido/Zope/DMR/lib/python/Zope2/__init__.py", line 47,
in startup
_startup()
File "/home/jagarrido/Zope/DMR/lib/python/Zope2/App/startup.py", line
64, in startup
DB = ZODB.DB(storage)
File "/home/jagarrido/Zope/DMR/lib/python/ZODB/DB.py", line 239, in
__init__
storage.load(z64,'')
File "/home/jagarrido/Zope/DMR/lib/python/DCOracleStorage/Full.py", line
250, in load
s, c = self._call('load', (z_oid, version), 'pickle')
File "/home/jagarrido/Zope/DMR/lib/python/DCOracleStorage/Full.py", line
201, in _call
return apply(getattr(self, name), args+(c,))
File "/home/jagarrido/Zope/DMR/lib/python/DCOracle2/DCOracle2.py", line
1492, in __call__
cursor.execute(sql,__plist=args)
File "/home/jagarrido/Zope/DMR/lib/python/DCOracle2/DCOracle2.py", line
973, in execute
result = self._cursor.execute()
dco2.DatabaseError: (24370, 'ORA-24370: illegal piecewise operation
attempted')


I see the Oracle error and says me:
ORA-24370: illegal piecewise operation attempted
Cause: Data of a certain datatype that does not support piecewise
operation is being sent or fetched in pieces.
Action: Always set the piece value to OCI_ONE_PIECE for datatypes that
does not support piecewise operation.

I see in a comment from Mathew:
This one looks like the stored procedure is trying to
return two LONG columns (which is not supported right now). Without
tracing it I can't say for sure what the illegal piecewise operation it
was trying to do, but it is LONG related, for sure.
The unique LONG is Z_PICKLE in ZODB_PICKLE table.

suggestions to resolve?

Thanks for all




_______________________________________________
Zope-DB mailing list
Zope-DB@zope.org
http://mail.zope.org/mailman/listinfo/zope-db
Re: OracleStorage problem [ In reply to ]
Is there a *real* need your you using OracleStorage?
It is old, it is unmaintained, it is about 10 times slower than
FileSystemStorage.

-aj

--On 28. Juni 2006 14:33:46 +0200 jagarrido@emergya.info wrote:

> Hello all.
>
> After installing a Oracle8i client in my Zope machine(2.8.3) and compiling
> DCOracle2 product satisfactory, I added the DCOracle2 and DCOracleStorage
> Directories at $ZOPE_INSTANCE/lib/python. Later, I created a
> zodb_custom.py file at $ZOPE_INSTANCE and fixed $ORACLE_HOME variable at
> my oracle_home client Directory.
>
> My Oracle8i Database resides in other machine Zope resides. I fixed
> tnsnames.ora of my Oracle client correctly to the Oracle machine(Solaris
> 9).
>
> I executed the sqlplus -s user/pw@sid @Full.sql sentence and tables were
> created correctly in Oracle machine.
>
> The problem resides at startup Zope, showing this error:
>
> Traceback (most recent call last):
> File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/run.py", line
> 56, in ?
> run()
> File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/run.py", line
> 21, in run
> starter.prepare()
> File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/__init__.py",
> line 98, in prepare
> self.startZope()
> File "/home/jagarrido/Zope/DMR/lib/python/Zope2/Startup/__init__.py",
> line 257, in startZope
> Zope2.startup()
> File "/home/jagarrido/Zope/DMR/lib/python/Zope2/__init__.py", line 47,
> in startup
> _startup()
> File "/home/jagarrido/Zope/DMR/lib/python/Zope2/App/startup.py", line
> 64, in startup
> DB = ZODB.DB(storage)
> File "/home/jagarrido/Zope/DMR/lib/python/ZODB/DB.py", line 239, in
> __init__
> storage.load(z64,'')
> File "/home/jagarrido/Zope/DMR/lib/python/DCOracleStorage/Full.py", line
> 250, in load
> s, c = self._call('load', (z_oid, version), 'pickle')
> File "/home/jagarrido/Zope/DMR/lib/python/DCOracleStorage/Full.py", line
> 201, in _call
> return apply(getattr(self, name), args+(c,))
> File "/home/jagarrido/Zope/DMR/lib/python/DCOracle2/DCOracle2.py", line
> 1492, in __call__
> cursor.execute(sql,__plist=args)
> File "/home/jagarrido/Zope/DMR/lib/python/DCOracle2/DCOracle2.py", line
> 973, in execute
> result = self._cursor.execute()
> dco2.DatabaseError: (24370, 'ORA-24370: illegal piecewise operation
> attempted')
>
>
> I see the Oracle error and says me:
> ORA-24370: illegal piecewise operation attempted
> Cause: Data of a certain datatype that does not support piecewise
> operation is being sent or fetched in pieces.
> Action: Always set the piece value to OCI_ONE_PIECE for datatypes that
> does not support piecewise operation.
>
> I see in a comment from Mathew:
> This one looks like the stored procedure is trying to
> return two LONG columns (which is not supported right now). Without
> tracing it I can't say for sure what the illegal piecewise operation it
> was trying to do, but it is LONG related, for sure.
> The unique LONG is Z_PICKLE in ZODB_PICKLE table.
>
> suggestions to resolve?
>
> Thanks for all
>
>
>
>
> _______________________________________________
> Zope-DB mailing list
> Zope-DB@zope.org
> http://mail.zope.org/mailman/listinfo/zope-db



--
ZOPYX Ltd. & Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany
Web: www.zopyx.com - Email: info@zopyx.com - Phone +49 - 7071 - 793376
E-Publishing, Python, Zope & Plone development, Consulting