I tried some patterns - NLS_LANG set/unset, convert_unicode True/ False, encoding set/unset - with logging.(r3578) As a result, I got almost the same exceptions and logs.(see below) In addition, that exception raises when 'filter_by' with 'NUMBER' columns too. So, I think the latest problem does not have relation with this 'convert_unicode' problem.
Log output (DEBUG level) ---------------------------------------------------------------------- INFO:sqlalchemy.pool.QueuePool.0x..70:Created new connection <cx_Oracle.Connection to [EMAIL PROTECTED]> INFO:sqlalchemy.pool.QueuePool.0x..70:Connection <cx_Oracle.Connection to [EMAIL PROTECTED]> checked out from pool INFO:sqlalchemy.engine.base.Engine.0x..70:select distinct OWNER from ALL_TAB_COLUMNS where TABLE_NAME = :table_name INFO:sqlalchemy.engine.base.Engine.0x..70:{'table_name': 'EMP'} DEBUG:sqlalchemy.engine.base.Engine.0x..70:Col ('OWNER',) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('SCOTT',) INFO:sqlalchemy.engine.base.Engine.0x..70:select COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, DATA_DEFAULT from ALL_TAB_COLUMNS where TABLE_NAME = :table_name and OWNER = :owner INFO:sqlalchemy.engine.base.Engine.0x..70:{'owner': 'SCOTT', 'table_name': 'EMP'} DEBUG:sqlalchemy.engine.base.Engine.0x..70:Col ('COLUMN_NAME', 'DATA_TYPE', 'DATA_LENGTH', 'DATA_PRECISION', 'DATA_SCALE', 'NULLABLE', 'DATA_DEFAULT') DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('EMPNO', 'NUMBER', 22, 4, 0, 'N', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('ENAME', 'VARCHAR2', 10, None, None, 'Y', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('JOB', 'VARCHAR2', 9, None, None, 'Y', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('MGR', 'NUMBER', 22, 4, 0, 'Y', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('HIREDATE', 'DATE', 7, None, None, 'Y', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('SAL', 'NUMBER', 22, 7, 2, 'Y', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('COMM', 'NUMBER', 22, 7, 2, 'Y', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('DEPTNO', 'NUMBER', 22, 2, 0, 'Y', None) INFO:sqlalchemy.engine.base.Engine.0x..70:SELECT ac.constraint_name, ac.constraint_type, loc.column_name AS local_column, rem.table_name AS remote_table, rem.column_name AS remote_column, rem.owner AS remote_owner FROM all_constraints ac, all_cons_columns loc, all_cons_columns rem WHERE ac.table_name = :table_name AND ac.constraint_type IN ('R','P') AND ac.owner = :owner AND ac.owner = loc.owner AND ac.constraint_name = loc.constraint_name AND ac.r_owner = rem.owner(+) AND ac.r_constraint_name = rem.constraint_name(+) -- order multiple primary keys correctly ORDER BY ac.constraint_name, loc.position, rem.position INFO:sqlalchemy.engine.base.Engine.0x..70:{'owner': 'SCOTT', 'table_name': 'EMP'} DEBUG:sqlalchemy.engine.base.Engine.0x..70:Col ('CONSTRAINT_NAME', 'CONSTRAINT_TYPE', 'LOCAL_COLUMN', 'REMOTE_TABLE', 'REMOTE_COLUMN', 'REMOTE_OWNER') DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('FK_DEPTNO', 'R', 'DEPTNO', 'DEPT', 'DEPTNO', 'SCOTT') INFO:sqlalchemy.engine.base.Engine.0x..70:select distinct OWNER from ALL_TAB_COLUMNS where TABLE_NAME = :table_name INFO:sqlalchemy.engine.base.Engine.0x..70:{'table_name': 'DEPT'} DEBUG:sqlalchemy.engine.base.Engine.0x..70:Col ('OWNER',) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('SCOTT',) INFO:sqlalchemy.engine.base.Engine.0x..70:select COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, DATA_DEFAULT from ALL_TAB_COLUMNS where TABLE_NAME = :table_name and OWNER = :owner INFO:sqlalchemy.engine.base.Engine.0x..70:{'owner': 'SCOTT', 'table_name': 'DEPT'} DEBUG:sqlalchemy.engine.base.Engine.0x..70:Col ('COLUMN_NAME', 'DATA_TYPE', 'DATA_LENGTH', 'DATA_PRECISION', 'DATA_SCALE', 'NULLABLE', 'DATA_DEFAULT') DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('DEPTNO', 'NUMBER', 22, 2, 0, 'N', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('DNAME', 'VARCHAR2', 14, None, None, 'Y', None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('LOC', 'VARCHAR2', 13, None, None, 'Y', None) INFO:sqlalchemy.engine.base.Engine.0x..70:SELECT ac.constraint_name, ac.constraint_type, loc.column_name AS local_column, rem.table_name AS remote_table, rem.column_name AS remote_column, rem.owner AS remote_owner FROM all_constraints ac, all_cons_columns loc, all_cons_columns rem WHERE ac.table_name = :table_name AND ac.constraint_type IN ('R','P') AND ac.owner = :owner AND ac.owner = loc.owner AND ac.constraint_name = loc.constraint_name AND ac.r_owner = rem.owner(+) AND ac.r_constraint_name = rem.constraint_name(+) -- order multiple primary keys correctly ORDER BY ac.constraint_name, loc.position, rem.position INFO:sqlalchemy.engine.base.Engine.0x..70:{'owner': 'SCOTT', 'table_name': 'DEPT'} DEBUG:sqlalchemy.engine.base.Engine.0x..70:Col ('CONSTRAINT_NAME', 'CONSTRAINT_TYPE', 'LOCAL_COLUMN', 'REMOTE_TABLE', 'REMOTE_COLUMN', 'REMOTE_OWNER') DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('PK_DEPT', 'P', 'DEPTNO', None, None, None) DEBUG:sqlalchemy.engine.base.Engine.0x..70:Row ('PK_EMP', 'P', 'EMPNO', None, None, None) INFO:sqlalchemy.pool.QueuePool.0x..70:Connection <cx_Oracle.Connection to [EMAIL PROTECTED]> being returned to pool INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) Identified primary key columns: ColumnSet([Column(u'empno', OracleNumeric(precision=4,length=0,asdecimal=True), primary_key=True, nullable=False)]) INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty empno INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty ename INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty job INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty mgr INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty hiredate INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty sal INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty comm INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) adding ColumnProperty deptno INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) constructed INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) _initialize_properties() started INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute empno on class Emp INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute ename on class Emp INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute job on class Emp INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute mgr on class Emp INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute hiredate on class Emp INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute sal on class Emp INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute comm on class Emp INFO:sqlalchemy.orm.strategies.ColumnLoader:register managed attribute deptno on class Emp INFO:sqlalchemy.orm.mapper.Mapper:(Emp|emp) _initialize_properties() complete INFO:sqlalchemy.pool.QueuePool.0x..70:Connection <cx_Oracle.Connection to [EMAIL PROTECTED]> checked out from pool INFO:sqlalchemy.engine.base.Engine.0x..70:BEGIN INFO:sqlalchemy.engine.base.Engine.0x..70:SELECT emp_empno, emp_ename, emp_job, emp_mgr, emp_hiredate, emp_sal, emp_comm, emp_deptno FROM (SELECT emp.empno AS emp_empno, emp.ename AS emp_ename, emp.job AS emp_job, emp.mgr AS emp_mgr, emp.hiredate AS emp_hiredate, emp.sal AS emp_sal, emp.comm AS emp_comm, emp.deptno AS emp_deptno, ROW_NUMBER() OVER (ORDER BY emp.rowid) AS ora_rn FROM emp WHERE emp.ename = :emp_ename ORDER BY emp.rowid) WHERE ora_rn>0 AND ora_rn<=1 INFO:sqlalchemy.engine.base.Engine.0x..70:{'emp_ename': 'SMITH'} ---------------------------------------------------------------------- On 10ζ9ζ₯, εεΎ11:42, Michael Bayer <[EMAIL PROTECTED]> wrote: > > I cant really identify what the problem is there. turning on SQL > logging might show more about the issue and also id see if it works > without setting NLS_LANG. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---