python连接SQL SERVER
Cemon_Liu Lv5

Python连接SQL Server并存储数据

之前的数据库都是使用的mysql。由于powerbi 使用sql server更方便,将后续的资料开始使用python转存到SQL server里面。

连接方法

python的好处就在于对于不同的DB,只要调整前端的接口,后面的写入方法都不用调整。所以我们找到合适的连接sql server的connection即可。之前使用的是pymysql,现在将包换成pymssql即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import pandas as pd
from sqlalchemy import create_engine
import pymssql

# 替换以下连接信息
server = '192.1.1.1'
database = 'xxxx'
username = 'user'
password = 'abc'
# 创建数据库引擎
connection_string = f'mssql+pymssql://{username}:{password}@{server}:1433/{database}'
engine = create_engine(connection_string)

try:
# 尝试连接并执行简单查询
with engine.connect() as conn:
result = pd.read_sql("SELECT 1", conn)
print("数据库连接成功!")
except Exception as e:
print(f"连接失败:{str(e)}")
df2 = pd.read_csv("test.csv")
print(df2.head(5))
df2.to_sql("table name", engine, if_exists="append", index=False)
# print(df)

问题整理

  1. 使用odbc驱动时,会报如下异常错误。有人说使用高版本的drive可以解决。测试仍然不行,更换pymssql后没有问题。

    1
    sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('HY104', '[HY104] [Microsoft][ODBC SQL Server Driver]無效的有效位數值 (0) (SQLBindParameter)')
  2. sql server的默认表都有dbo 实际调用的过程中,不用特别输入。

  3. 目前在数据处理和清洗过程中使用Pandas的频率最高,后期待整理常用的方法。

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
访客数 访问量