Обновление оператора с использованием pyodbc и SQL Server Общая ошибка сети - PullRequest
1 голос
/ 01 октября 2019

Итак, я написал некоторый код для обновления SQL-сервера, используя значения из pandas DataFrame. После запуска следующего кода итерация продолжается до определенного момента, когда она останавливается из-за ошибки.

for index in range(len(description)):
   cnxn = pyodbc.connect('DRIVER={SQL Server}; SERVER=x.database.windows.net; DATABASE=x; uid=x; pwd=x;)
   cursor = cnxn.cursor()
   cursor.execute("UPDATE Product SET MetaDescription = ? WHERE Id = ?", description['Description'][index], description['Id'][index])
   cnxn.commit()

Следует отметить, что я выполняю аналогичный код (отличаются только значения) для другогофрейм данных, содержащий строку, которая отлично работает и обновляет таблицу без ошибок. Этот, однако, останавливается после обновления около 300 строк. Первая ошибка была такой:

Ошибка: ('01000', '[01000] [Microsoft] [Драйвер ODBC SQL Server] [DBNETLIB] ConnectionRead (recv ()). (65534) (SQLEndTran); [01000] [Microsoft] [Драйвер ODBC SQL Server] [DBNETLIB] Общая ошибка сети. Проверьте сетевую документацию. (11) ')

И после повторного запуска я получил этоодин:

Ошибка: ('01000', '[01000] [Microsoft] [Драйвер ODBC SQL Server] [DBNETLIB] ConnectionRead (recv ()). (65534) (SQLEndTran); [01000] [Microsoft] [Драйвер ODBC SQL Server] [DBNETLIB] Общая сетевая ошибка. Проверьте сетевую документацию. (11) ')

Единственная разница между работающим DataFrame и простоСтопы - это длина строк, но dtype для SQL Server имеет значение nvarchar (max). В чем может быть проблема здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...