Ошибка программирования с pyodbc 42601] ОШИБКА: синтаксическая ошибка на уровне "***" или около него;\nErroPython

Программы на Python
Ответить
Anonymous
 Ошибка программирования с pyodbc 42601] ОШИБКА: синтаксическая ошибка на уровне "***" или около него;\nErro

Сообщение Anonymous »

Я хочу проанализировать данные из XML, но когда я хочу вставить эти данные в базу данных sql через db_cursor.execute, я получил ошибку, потому что у меня есть некоторые данные в одинарных и двойных кавычках в одном столбце:

Код: Выделить всё

import re
import os
import pyodbc
import xml.etree.ElementTree as ET
login_db = '\*\*\*\*\*'
passwd_db ='\*\*\*\*\*\*\*'
db_str = ("Driver={PostgreSQL UNICODE(x64)};"
"Server=\*\*\*\*\*\*\*;"
"Port=5432;"
"Database=inventory_UAT;"
"Uid=%s;"
"Pwd=%s") % (login_db, passwd_db)
db_cnxn = pyodbc.connect(db_str,autocommit=True)
db_cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')
db_cnxn.setencoding(encoding='utf-8')
db_cursor = db_cnxn.cursor()
import xml.etree.ElementTree as ET
tree1 = ET.parse(r"C:\\Mine\\diverts.xml")
root1 = tree1.getroot()
for div in root1.findall('{urn:activemq:core}divert'):
source = div.find('{urn:activemq:core}address').text
target = div.find('{urn:activemq:core}forwarding-address').text
name = div.attrib\['name'\]
filtr = ""
for i in div.findall('{urn:activemq:core}filter'):
filtr = i.attrib\['string'\]
qry = (("""INSERT INTO inventory.artemis_divert_inventory
(divert_name,from_address,to_address,filter,instance_type,last_update)
VALUES ('%s','%s','%s','%s','CORP-UAT',NOW());""")
%(name, source, target, filtr))
\# print(qry)
db_cursor.execute(qry)
Это ошибка:
pyodbc.ProgrammingError: ('42601', '[42601] ОШИБКА: синтаксическая ошибка на или рядом с "KondorSDEvent_uat1";\nОшибка при выполнении запроса (1) (SQLExecDirectW)')
позвольте мне добавить некоторые из этих данных в столбец фильтра:
_AMQ_ORIG_ADDRESS имеет значение NULL и (MessageType='CommodityReset' или (MessageType='Product' и ProductTy
pe='Commodity'
Идентификатор издателя ('KondorSDEvent_uat1','AdstisSDEvent_uat1')Я вообще не знаю, как решить эту проблему

Подробнее здесь: https://stackoverflow.com/questions/791 ... near-nerro
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»