GOOGLE ADS

суббота, 30 апреля 2022 г.

Объект pyodbc.Cursor не имеет атрибута fast_executemany.

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

'pyodbc.Cursor'объект не имеет атрибута'fast_executemany'

Я использую


  • Питон 2.7

  • База данных SQL-сервера AZURE

  • pyodbc==4.0.24


Веб-приложение хранится в Azure.


Решение проблемы

Azure предоставляет нам учебник о том, как использовать Python для подключения к базе данных Azure SQL и использовать инструкции 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()

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

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

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...