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 sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---