Спасибо за подробное объяснение. +1

учаю эту ошибку при попытке обновить базу данных db2, которая является связанным сервером на нашей базе данных SQL Server.

ОШИБКА: root :( '42000', '[42000] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Запрошенная операция не может быть выполнена, поскольку поставщик OLE DB "IBMDA400" для связанного сервера "iSeries" не поддерживает требуемый интерфейс транзакции. (7390) (SQLExecDirectW) ')

Я подключаюсь к серверу sql через pyodbc и могу запускать сценарии sql без проблем. Вот sql я получаю ошибку с

sql3 = " exec ('UPDATE SVCEN2DEV.SRVMAST SET SVRMVD = ? WHERE svtype != ''*DCS-'' AND svcid = ? and svacct = ? ') AT [iSeries]"
db.execute(sql3, (row[2],srvid,row[0]))
db.commit()

И на всякий случай вот моя строка подключения с использованием pyodbc:

conn = pyodbc.connect("DRIVER={SQL Server};SERVER="+ Config_Main.dbServer +";DATABASE="+ Config_Main.encludeName +";UID="+ Config_Main.encludeUser +";PWD=" + Config_Main.encludePass)
db = conn.cursor()

Также обратите внимание, что этот запрос прекрасно работает в SSMS. Я также попробовал метод openquery, но мне не повезло. Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос