1. 通过 pymssql 连接
首先创建连接
import pymssql
conn = pymssql.connect(host='xxx.xxx.xxx.xxx',
user='sa',
password='xxxxxxx',
database='dbName',
charset='utf8')
这种方式创建的连接可以通过 Pandas 的 read_sql()
函数获取数据,但是没法通过 to_sql()
向数据库保存数据
2. 通过 sqlalchemy 连接
使用 sqlalchemy 连接 SQL Server 时,数据的读取和保存都可以通过 Pandas 很方便地完成
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mssql+pyodbc://sa:password@IP/dbName?driver=SQL+Server')
# engine = engine.connect().connection # 遇到关于sqlite_master的报错时使用该行
sql = 'select * from table_name'
df = pd.read_sql(sql,engine)
df.to_sql('table_name2', engine, index=False)