Python панды to_sql максимум 2100 параметров - PullRequest
0 голосов
/ 01 июня 2018

Я всегда хранил в своей БД (SQL-сервере) тысячи параметров до нескольких дней назад.Я использую Spyder (Python 3.6).Я обновил все пакеты с помощью conda update - всего несколько дней назад, и теперь я не могу импортировать мои фреймы данных в свою БД.

--- Я не хочу, чтобы обходной путь разделялся в DF с 2100 параметрами---

Я хотел бы понять, что изменилось и почему и как вернуться к рабочему.

Это простой код:

import pyodbc
import sqlalchemy
import numpy as np
import pandas as pd


c = pyodbc.connect("Driver={SQL Server};Server=**;Trusted_Connection=no;Database=*;UID=*;PWD=*;")
cursor = c.cursor()  
engine = sqlalchemy.create_engine('mssql+pyodbc://*:*/*?driver=SQL+Server')



df= pd.DataFrame(np.random.randn(5000))
df.to_sql('pr',engine,if_exists= 'append', index=False)

и это ошибка: ProgrammingError: (pyodbc.ProgrammingError) ('42000', '[42000] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Входящий запрос имеет слишком много параметров. Сервер поддерживает максимум 2100параметры. Уменьшите количество параметров и повторно отправьте запрос. (8003) (SQLExecDirectW) ')

Большое спасибо

1 Ответ

0 голосов
/ 01 июня 2018

Существует открытая (по состоянию на 2018.06.01) проблема для этой ошибки в пандах 0.23.

Возможно, вы захотите понизиться до 0.22, что будет работать, как и ожидалось.

...