Python не будет записывать в созданную мной таблицу SQL, вместо этого она создаст другую - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь, чтобы мой код загружал DataFrame в таблицу, которую я уже создал в базе данных SQL.

Однако вместо записи в эту таблицу он создает другую с то же имя, но некоторая дополнительная строка текста.

таблица: [База данных]. [dbo]. [myTable]

таблица, создаваемая кодом, [База данных]. [Dbo]. [DIR \ User.myTable]

Вот код, он работал в прошлом, поэтому я не уверен, что проблема может быть сейчас

params = urllib.parse.quote_plus(r'DRIVER={SQL Server Native Client 11.0}; Trusted_Connection=yes; Server='servername005.azr.com, DATABASE=Database; application intent=readwrite'
conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
engine = sqlalchemy.create_engine(conn_str, fast_executemany=True)
df.to_sql("myTable", con=engine, if_exists='replace', index=True)

Заранее спасибо!

1 Ответ

0 голосов
/ 06 марта 2020

Один пользователь выше решил это! Я не уверен, смогу ли я отметить его / ее комментарий как решенный, но вот что сработало. Добавление schema = "dbo" в метод to_ sql.

Спасибо!

params = urllib.parse.quote_plus(r'DRIVER={SQL Server Native Client 11.0}; 
Trusted_Connection=yes; Server='servername005.azr.com, DATABASE=Database; application intent=readwrite'
conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
engine = sqlalchemy.create_engine(conn_str, fast_executemany=True)
df.to_sql("myTable", con=engine, if_exists='replace', schema="dbo" index=True)
...