Спасибо за подробное объяснение. +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, но мне не повезло. Есть идеи?