Hi

I am using sqlalchemy in my TurboGears application.
some of my classes has columns with Pickletype dataType.
these get converted to BLOB dataType in the database.
I was using mySql till recently and everything was working fine.

Now i am shifting to oracle. Tables are getting created properly.
(setup-app in tg project ran successfully). But when i try to query
a table having BLOB column ,  i get the following error.
Exception in thread Thread-22:
Traceback (most recent call last):
  File "/usr/lib/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/svnee/trunk/src/core/services/task_service.py", line 76, in
check_calendar_tasks
    for cal in conn.query(Task).\
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/orm/query.py", line 1361, in __iter__
    return self._execute_and_instances(context)
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/orm/query.py", line 1364, in
_execute_and_instances
    result = self.session.execute(querycontext.statement,
params=self._params, mapper=self._mapper_zero_or_none())
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/orm/session.py", line 754, in execute
    return self.__connection(engine, close_with_result=True).execute(
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/engine/base.py", line 824, in execute
    return Connection.executors[c](self, object, multiparams, params)
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/engine/base.py", line 874, in
_execute_clauseelement
    return self.__execute_context(context)
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/engine/base.py", line 896, in __execute_context
    self._cursor_execute(context.cursor, context.statement,
context.parameters[0], context=context)
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/engine/base.py", line 950, in _cursor_execute
    self._handle_dbapi_exception(e, statement, parameters, cursor,
context)
  File "/root/tg2env/lib/python2.4/site-packages/SQLAlchemy-0.5.6-
py2.4.egg/sqlalchemy/engine/base.py", line 931, in
_handle_dbapi_exception
    raise exc.DBAPIError.instance(statement, parameters, e,
connection_invalidated=is_disconnect)
DatabaseError: (DatabaseError) ORA-01036: illegal variable name/number


i did a normal select query from sqlplus:

select * from tasks;
ORA-00932: inconsistent datatypes: expected NUMBER got BLOB

These are my class and table definitions:

class Task(DeclarativeBase):
    task_id = Column(Integer,Sequence('id_seq'), primary_key=True)
    task_type = Column(Unicode(50), default=to_unicode('Task'))
    name = Column(Unicode(256))
    entity_id = Column(Unicode(256))
    entity_name = Column(Unicode(50))
    context = Column(PickleType)
    params = Column(PickleType)
    kw_params = Column(PickleType)
    processors = Column(ImmutablePickleType)


         _tablename_="tasks"
        TASK_ID              Number
        TASK_TYPE            Varchar2
        NAME                 Varchar2
        ENTITY_ID            Varchar2
        ENTITY_NAME          Varchar2
        CONTEXT              Blob
        PARAMS               Blob
        KW_PARAMS            Blob
        PROCESSORS          Blob
        USER_NAME           Varchar2
        SUBMITTED_ON   Date     7
        REPEATING           Number

anyone has any idea what's wrong?
please help .....
                                    Thanks

-- 
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.

Reply via email to