python-3.x - 在 Jupyter Lab 中通过 SQL magics 连接到 SQL Server

标签 python-3.x sqlalchemy jupyter-lab ipython-magic

我正在尝试使用 SQL 魔法通过 Jupyter Labs 连接到我们的远程 sql 服务器数据库。我可以使用传统的连接字符串进行连接,但 SQL 魔法似乎不起作用(这意味着我做错了什么)。下面是工作 pyodbc 连接:

conn = pyodbc.connect('Driver={SQL Server};'
                      'Server=Server;'
                      'Database=DB;'
                      'Trusted_Connection=yes;')

但是当我尝试使用魔法连接时,我收到一个错误,提示没有提供连接字符串
%load_ext sql
%sql engine = create_engine("mssql+pyodbc://user:password@server/db")

理想情况下,我想使用 DSN 与 Magics 连接(我也尝试过,但没有成功):
%load_ext sql
%sql engine = create_engine("mssql+pyodbc://DSN;Trusted_Connection = Yes")

对连接正常工作有帮助吗?

最佳答案

从 Jupyter 单元试试这个:

import urllib
params = urllib.parse.quote_plus("DRIVER={SQL SERVER};SERVER=Server;DATABASE=DB;TRUSTED_CONNECTION=YES")
"mssql+pyodbc:///?odbc_connect=%s" % params

然后运行单元格并将从其评估返回的编码字符串复制/粘贴到魔法中。
%%sql mssql+pyodbc:///?odbc_connect=DRIVER%3D%7BSQL+SERVER%7D%3BSERVER%3DServer%3BDATABASE%3DDB%3BTRUSTED_CONNECTION%3DYES
   [your SQL code here]

关于python-3.x - 在 Jupyter Lab 中通过 SQL magics 连接到 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56031313/

相关文章:

python - Jupyter Lab 没有使用虚拟环境

jupyter-lab - 如何为 Jupyter 实验室创建自定义 css 文件

python - 如何从 notebook 中找到 jupyter notebook 的版本

python-3.x - Tensorflow 无法创建 cudnn 句柄 : CUDNN_STATUS_ALLOC_FAILED

python-3.x - Airflow Scheduler active 探针崩溃(2.0 版)

python - 如何在 python 中创建 3D 列表的副本

sql-server - 通过 sqlalchemy 和 pyodbc 访问 MS SQL 数据库时出现 "Login timeout expired"错误

python - 为什么 flask sql alchemy 不更新记录的属性?

python-3.x - 如何从 numpy 数组中输入数据来训练 CNTK 回归模型

python - sqlalchemy - 使用 .csv 文件加入 MySQL 表