У меня есть скрипт на python, который читает файл sql и выполняет сохраненную в нем команду sql. Но при его выполнении я получил ошибку ниже:
psycopg2.ProgrammingError: syntax error at or near "select"
LINE 1: select * from image
Содержимое файла sql:
выберите * из изображения
, что просто и должно быть правильно.
код, выдавший ошибку (последняя строка, более конкретно):
cur=conn.cursor()
string=open(script,'r',encoding='utf-8').read()#script is the sql file
cur.execute(string)
кто-нибудь может посоветовать?
---- обновление -----
ниже указана функция в скрипте Python. Я не публикую весь сценарий, так как он слишком длинный.
def list_(csv, sql=None , script=None , host = None, dbname=None , user=None , pwd=None):
print(sql)
print(script)
if (sql):
print("sql")
with conn2db(host,dbname,user,pwd) as conn:
cur = conn.cursor()
cur.execute(sql)
if (script):
print("script")
with conn2db(host,dbname, user, pwd) as conn:
cur = conn.cursor()
string = open(script, 'r', encoding='utf-8').read()
print(string)
cur.execute(string)
#cur.execute(open(script, 'r', encoding='utf-8').read())
with open(csv,'w') as file:
for record in cur:
mystr=str(record)[1:-2] if str(record)[-1]==',' else str(record)[1:-1]
file.write(mystr+'\n')
#file.write('\n')