2017-11-20 8 views
0

나는 pandas 데이터 프레임 "df"를 가져 오는 파이썬 코드가 있습니다. 이 데이터 프레임을 Microsoft SQL 서버에 쓰려고합니다. 내가Python sqlalchemy .to_sql을 사용하여 SQL Server에 pandas 데이터 프레임을 작성하려고합니다.

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('08001', '[08001] [Microsoft][ODBC SQL Server Driver]Neither DSN nor SERVER keyword supplied (0) (SQLDriverConnect)') 

사람이 나를 어떻게 내가 말할 수있는 다음과 같은 오류를 얻고있다 그러나 engine.connect() 라인에서 오류

import pyodbc 
from sqlalchemy import create_engine 

engine = create_engine('mssql+pyodbc:///?odbc_connect=DRIVER={SQL Server};SERVER=bidept;DATABASE=BIDB;UID=sdcc\neils;PWD=neil!pass') 
engine.connect() 
df.to_sql(name='[BIDB].[dbo].[Test]',con=engine, if_exists='append') 

를 얻고으로 나는 다음과 같은 코드를 통해 연결을 시도하고있다 실종됐다. 나는 마이크로 소프트 SQL Server Management Studio를 사용하고 있습니다 - 14.0.17177.0

나는 데이터베이스와 파이썬에 새로운 오전 다음

Server type: Database Engine 
Server name: bidept 
Authentication: Windows Authentication 

for which I log into my windows using username : sdcc\neils 
and password : neil!pass 

을 통해 SQL 서버에 연결합니다. 추가 세부 정보가 필요한 경우 알려 주시기 바랍니다. 어떤 도움이라도 대단히 감사하겠습니다. 미리 감사드립니다.

+0

[SQLAlchemy에서 SQL 서버에 연결 중 : "제공된 DSN 및 SERVER 키워드가 없습니다."] (https://stackoverflow.com/questions/47416699/connecting-to-sql-server-from-sqlalchemy-neither- dsn-nor-server-keyword-suppli) –

답변

0

나는 마침내 달릴 수있었습니다. 내 SQL Server의 모든 테이블이 'DBO'스키마 아래에 나의 있지만 Here

(즉 dbo.Test1, dbo.Other_Tables)이 쿼리를 대답 @ 고드 - 톰슨

import pyodbc 
from sqlalchemy import create_engine 
import urllib 

params = urllib.quote_plus(r'DRIVER={SQL Server};SERVER=bidept;DATABASE=BIDB;Trusted_Connection=yes') 
### For python 3.5: urllib.parse.quote_plus 
conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params) 
engine = create_engine(conn_str) 
reload(sys) 
sys.setdefaultencoding('utf8') 

df.to_sql(name='Test',con=engine, if_exists='append',index=False) 

감사합니다 'sdcc \ neils'스키마 (예 : sdcc \ neils.Test1, sdcc \ neils.Other_Tables)에 내 테이블을 넣으시겠습니까?

+0

해결책'df.to_sql (name = 'Test', con = 엔진, if_exists = 'append', index = False, schema = "dbo")' –