У объекта 'pyodbc.Cursor' нет атрибута 'fast_executemany' - PullRequest
0 голосов
/ 09 января 2019

У меня странная проблема, у меня есть веб-приложение, которое использует fast_executemany для того, чтобы вставить в базу данных, при запуске на локальном хосте он работает без проблем, но при развертывании в Azure, я получаю 'pyodbc.Cursor' объект не имеет атрибута 'fast_executemany'

Я использую Python 2.7 AZURE SQL сервер БД Веб-приложение хранится в Azure

pyodbc==4.0.24

Буду признателен за любые идеи.

Спасибо

Nir

1 Ответ

0 голосов
/ 09 января 2019

Azure предоставляет нам руководство о , как использовать Python для подключения к базе данных SQL Azure и использовать инструкции Transact-SQL для запроса данных .

И если мы хотим использовать атрибут fast_executemany, мы должны установить cursor.fast_executemany = True

Мы можем изменить образец следующим образом:

import pyodbc
server = '<server>.database.windows.net'
database = '<database>'
username = '<username>'
password = '<password>'
driver= '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.fast_executemany = True
cursor.execute("SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid")
row = cursor.fetchone()
while row:
    print (str(row[0]) + " " + str(row[1]))
    row = cursor.fetchone()

Я думаю, вы можете попробовать еще раз. Если у вас все еще есть другие проблемы, пожалуйста, дайте мне знать, и я сделаю все возможное, чтобы помочь вам.

Надеюсь, это поможет вам.

...