first, try this patch:
Index: lib/sqlalchemy/databases/oracle.py
===================================================================
--- lib/sqlalchemy/databases/oracle.py (revision 5695)
+++ lib/sqlalchemy/databases/oracle.py (working copy)
@@ -258,9 +258,19 @@
return process
class OracleRaw(OracleBinary):
+ def get_dbapi_type(self, dbapi):
+ return dbapi.BINARY
+
def get_col_spec(self):
return "RAW(%(length)s)" % {'length' : self.length}
+class OracleLongRaw(OracleBinary):
+ def get_dbapi_type(self, dbapi):
+ return dbapi.LONG_BINARY
+
+ def get_col_spec(self):
+ return "LONG RAW(%(length)s)" % {'length' : self.length}
+
class OracleBoolean(sqltypes.Boolean):
def get_col_spec(self):
return "SMALLINT"
and obviously try the OracleLongRaw type. Otherwise, its an issue in
cx_oracle - you'd have to work up a cx_oracle only test case and send
it to their list.
On Jan 20, 2009, at 12:54 PM, Gregg Parks wrote:
>
> My apologies - I forgot to mention the photo field is a LONG RAW and
> that the table already exists.
>
> In the table definition the field is now defined as Column
> ('employee_photo', OracleRaw(100000)) and code that is trying to write
> to the table is:
>
> u = idworks.update().where(idworks.c.emplid=='800014023').values
> (date_acquired=bindparam('date_acquired'), employee_photo=bindparam
> ('employee_photo', type_=OracleRaw(100000)))
> dbconn.execute(u, photo=img, date_acquired='20-JAN-2009',
> employee_photo=img)
>
> Here is the error:
>
> ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion
> (actual: 11813, maximum: 2000)
>
> Gregg.
>
>
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---