[Zope-DB] OracleStorage problem
jagarrido at emergya.info
jagarrido at emergya.info
Wed Jun 28 08:33:46 EDT 2006
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 at 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
More information about the Zope-DB
mailing list