python - Pandas sqlalchemy create_engine 与 SQL Server Windows 身份验证的连接
问题描述
我正在尝试将 Pandas DataFrame 上传到 SQL 服务器表。从阅读来看,sqlalchemy to_sql 方法似乎是一个不错的选择。但是,我无法让 create_engine 建立连接。
我能够连接到数据库以使用 Windows 身份验证检索数据。这是我正在使用的连接字符串:
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server={server_name};"
"Database={database_name};"
"Trusted_Connection=yes;")
我尝试了几种不同的方法来使用我的登录信息进行连接,这是最新版本:
engine = create_engine(
"mssql+pyodbc://{network_user_name}:{network_pw}@{server_name}//{database_name}"
)
engine.connect()
这是我得到的错误:
InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
(Background on this error at: http://sqlalche.me/e/rvf5)
解决方案
如果要使用 Windows 身份验证,则只需省略连接 URI 的用户名/密码部分。这对我来说很好:
connection_uri = (
"mssql+pyodbc://@192.168.0.179:49242/mydb?driver=ODBC+Driver+17+for+SQL+Server"
)
engine = sa.create_engine(connection_uri)
推荐阅读
- git-bash - 使用漂亮的格式从左侧偏移日志主体
- javascript - 是否可以在显示图像并将原件加载到 RAM 之前缩小(实际调整大小)图像?
- sql - 在 ms 访问中自动加载 csv 数据,并包括 autonumer 主键 ID 字段
- c# - UNITY - 摄像机轨道,将摄像机移动到一些固定位置
- python - Python:无法将“\\”读取为字符串
- python - 从设置的用户获取个人资料图片
- angular - Angular 6 在两个不相关的组件之间传递数据
- vba - 具有计数功能并在单元格中搜索文本
- request - 如何在 EOS 中推送交易?
- php - OAuth2 , PHP 和 Quickbooks