SSL SQLAlchemy Pandas
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)
希望这对你有帮助。