those NVARCHAR2's probably need a length:

CAST(expr AS NVARCHAR2(20))


On Fri, Nov 10, 2017 at 7:01 PM, venu v <[email protected]> wrote:
> Hi,
>
> I have sql alchemy , cx_Oracle installed , Python 2.7 installed on my
> windows machine.
>
> Trying to run a sql using SQL Alchemy and it fails with the below error:
>
>
> "sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00906: missing
> left parenthesis"
>
> This is the SQL i have:
>
> ('SELECT count(:count_2) AS count_1 \nFROM measure \nWHERE
> lower(CAST(measure.measure_code AS NVARCHAR2)) LIKE lower(:param_1) OR
> lower(CAST(measure.measure_name AS NVARCHAR2)) LIKE lower(:param_2)' ,
> {'param_1': u'%da%', 'count_2': '*', 'param_2': u'%da%'})
>
> Stack Trace:
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File
> "C:\Project\flask-admin-project\lib\site-packages\sqlalchemy\engine\base.py",
> line 939, in execute
>     return self._execute_text(object, multiparams, params)
>   File
> "C:\Project\flask-admin-project\lib\site-packages\sqlalchemy\engine\base.py",
> line 1097, in _execute_text
>     statement, parameters
>   File
> "C:\Project\flask-admin-project\lib\site-packages\sqlalchemy\engine\base.py",
> line 1189, in _execute_context
>     context)
>   File
> "C:\Project\flask-admin-project\lib\site-packages\sqlalchemy\engine\base.py",
> line 1402, in _handle_dbapi_exception
>     exc_info
>   File
> "C:\Project\flask-admin-project\lib\site-packages\sqlalchemy\util\compat.py",
> line 203, in raise_from_cause
>     reraise(type(exception), exception, tb=exc_tb, cause=cause)
>   File
> "C:\Project\flask-admin-project\lib\site-packages\sqlalchemy\engine\base.py",
> line 1182, in _execute_context
>     context)
>   File
> "C:\Project\flask-admin-project\lib\site-packages\sqlalchemy\engine\default.py",
> line 470, in do_execute
>     cursor.execute(statement, parameters)
> sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00906: missing
> left parenthesis [SQL: 'SELECT count(:count_2) AS count_1 \nFROM measure
> \nWHERE lower(CAST(measure.measure_code AS N
> ARCHAR2)) LIKE lower(:param_1) OR lower(CAST(measure.measure_name AS
> NVARCHAR2)) LIKE lower(:param_2)'] [parameters: {'param_1': u'%da%',
> 'count_2': '*', 'param_2': u'%da%'}]
>
> I modified the SQL to remove the CAST function and tried again . It worked.
>
> As the first SQL is system generated SQL, i cannot modify it .
> Is there any way i can force SQL Alchemy not to do CAST on the measure code
> column?
>
> Request you please help.
>
> Thanks,
> Venugopal.
>
> --
> SQLAlchemy -
> The Python SQL Toolkit and Object Relational Mapper
>
> http://www.sqlalchemy.org/
>
> To post example code, please provide an MCVE: Minimal, Complete, and
> Verifiable Example. See http://stackoverflow.com/help/mcve for a full
> description.
> ---
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to