[Zope-DB] DCOracle2: ORA-06502: PL/SQL: numeric or value error:
character string buffer too small
John Ziniti
rejpz at channing.harvard.edu
Mon Dec 6 16:00:02 EST 2004
I get the traceback below when calling a stored procedure, but I am
pretty sure that the OUT parameter that is being written to is
large enough for the output, as I can run the SP with the same
parameters using sqlplus. This is DCOracle2 1.3b on Oracle 9.2.0.5.
The Traceback:
Traceback (most recent call last):
File
"/usr/local/lib/python2.3/site-packages/AIMS/Generations/import.py",
line 112, in ?
blastOut = curs.procedure.generations.JAVAMARKERINSERT_PROC('-prd',
'CRHR1_23964', flank5, variant, flank3, 'false', 'pgabot', blastParams,
'0', '2', resultMessage)
File "/usr/local/lib/python2.3/site-packages/DCOracle2/DCOracle2.py",
line 1526, in __call__
cursor.execute(sql,__plist=args)
File "/usr/local/lib/python2.3/site-packages/DCOracle2/DCOracle2.py",
line 1001, in execute
result = self._cursor.execute()
dco2.DatabaseError: (6502, 'ORA-06502: PL/SQL: numeric or value error:
character string buffer too small\nORA-06512: at
"GENERATIONS.JAVAMARKERINSERT_PROC", line 16\nORA-06512: at line 1')
The __doc__ for the Stored Procedure:
procedure GENERATIONS.JAVAMARKERINSERT_PROC has arguments:
DEVORTESTORPRDDB IN VARCHAR2
NEWMARKERSEQ IN VARCHAR2
FLANK5SEQUENCE IN VARCHAR2
VARIANTSEQUENCE IN VARCHAR2
FLANK3SEQUENCE IN VARCHAR2
INSERTINTODB IN VARCHAR2
PROGRAMUSERNAME IN VARCHAR2
BLASTPARAMETERS IN VARCHAR2
FLANKSBASEMISMATCH IN VARCHAR2
VARIANTSBASEMISMATCH IN VARCHAR2
MARKERINSERTMSG OUT VARCHAR2
My Python code:
resultMessage = cnxn.BindingArray(1, 80000, 'SQLT_STR')
curs.procedure.generations.JAVAMARKERINSERT_PROC('-prd', 'CRHR1_23964',
flank5, variant, flank3, 'false', 'pgabot', blastParams, '0', '2',
resultMessage)
I get the same Exception no matter what I do for the resultMessage
parameter (plain string, None, SQLT_CLOB, SQLT_CHR).
Other details provided if needed.
Thanks in advance for any help,
John Ziniti
More information about the Zope-DB
mailing list