SSL SQLAlchemy Pandas

0 投票
1 回答
30 浏览
提问于 2025-04-13 16:14

Python版本:3.11

SQLAlchemy版本:'2.0.28'

我尝试了很多次,想手动传递SSL设置,但它还是不识别我的SSL,每次都得到相同的输出。

import ssl
from sqlalchemy import create_engine
import pandas as pd
import os

ssl_context = ssl.create_default_context(cafile="vt_root.crt")
ssl_context.verify_mode = ssl.CERT_REQUIRED
connect_args = {"ssl": ssl_context}
server = "SERVER"
database = "DB"
username = "USER"
password = "PW"
driver = "ODBC Driver 18 for SQL Server"
url = f"mssql://{username}:{password}@{server}/{database}?driver={driver}"
engine = create_engine(url, connect_args=connect_args)
connection = engine.connect()

我哪里做错了?我的错误信息是:

操作错误:

('08001', '[08001] [Microsoft][ODBC Driver 18 for SQL Server]SSL 提供者:[错误:16000069:存储例程::未注册的 方案:scheme=file][错误:80000002:系统库::没有这样的文件或 目录:调用 stat(/opt/bitnami/miniconda/envs/python3.11/ssl/certs)] (-1) (SQLDriverConnect)')

提前谢谢你。

1 个回答

0

问题是找不到SSL证书文件,它应该在/opt/bitnami/miniconda/envs/python3.11/ssl/certs这个位置。

你可以指定你的证书路径,像这样:

certificate_path = "/path/vt_root.crt"
ssl_context = ssl.create_default_context(cafile=certificate_path)

希望这对你有帮助。

撰写回答