[英]ERROR: syntax error at or near “N” in sqlalchemy.exc.ProgrammingError
I have a query as 我有一个查询
query = '''
EXECUTE sp_executesql
N'select ex.b_id, b.code,
b.status as status,
ex.c_id, c.c_no, c.title as title,
ex.s_id, s.s_no, s.title as s_title,
ex.o_id, isnull(o.o_no, o._id) as o_no,
ex.e_id,
ex.types
from dbo.exercises ex
left join XXXX o on
(ex.b_id = o.b_id and ex.c_id = o.c_id
and ex.s_id = o.s_id and ex.o_id = o.o_id)
inner join YYYY b on (ex.b_id = b.b_id)
inner join ZZZZ c on (ex.b_id = c.b_id and
ex.c_id = c.c_id)
inner join SSSS s on (ex.b_id = s.b_id and
ex.c_id = s.c_id and ex.s_id = s.s_id)
where
-- cleaning criteria
-- interesting data selection
ex.b_id = @bid
order by ex.b_id, ex.c_id, ex.s_id, ex.o_id,
ex.o_no, ex.e_id',
N'@bid int',
@bid = ?;
'''
By using pandas read_sql
, fetching data from databaase. 通过使用熊猫
read_sql
,从databaase获取数据。
from sqlalchemy import create_engine
from sqlalchemy import event
import pandas as pd
pd.read_sql(query, conn, params=params, chunksize=None)
It throws an error as sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) syntax error at or near "N" N'select ex.b_id, b.code, .. 它将错误抛出为sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError)语法错误,位于“ N”附近或附近 N'select ex.b_id,b.code,..
If you read the documentation , you will see that there are no string constants of the form N'...'
in PostgresSQL. 如果您阅读了文档 ,将会发现PostgresSQL中没有
N'...'
形式的字符串常量。 All string constants have the same encoding, which is specified by the setting of client_encoding
for your session. 所有字符串常量都具有相同的编码,这由会话的
client_encoding
设置指定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.