Можно ли использовать pyodb c executemany для обновления нескольких строк в таблице SQL? - PullRequest
0 голосов
/ 08 февраля 2020

Я использовал pyodbc.executemany для вставки элементов в таблицы базы данных. Я пытаюсь обновить несколько строк, используя pyodbc.executemany, и получаю ошибки. Можно ли использовать pyodbc.executemany для обновления нескольких строк?

Вот мой код:

import pyodbc
import os
listTest=[('okAa','a'),('OKBb','b')]

queryToTest="UPDATE AllTrasactions2 SET [Barcode]=? WHERE [Location]=?"
strForDB = os.getcwd() + '\DBINFO.txt'
openDBFile = open(strForDB, 'r')
currentDirForDB = openDBFile.read()
dbPath = currentDirForDB

con = pyodbc.connect(dbPath)
cur = con.cursor()
cur.executemany(queryToTest,listTest)
con.commit()

Это моя ошибка:

Traceback (most recent call last):
  File "C:/Users/Test/test.py", line 13, in <module>
    cur.executemany(queryToTest,listTest)
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid object name 'AllTrasactions2'. (208) (SQLExecDirectW); [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Statement(s) could not be prepared. (8180)")

...