在Jupyter Lab中通过SQL Magic连接到SQL Server

时间:2019-05-07 22:39:16

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

我正在尝试使用SQL魔术通过Jupyter Labs连接到我们的远程sql server数据库。我可以使用传统的连接字符串进行连接,但是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")

对建立连接有帮助吗?

2 个答案:

答案 0 :(得分:2)

不复制粘贴的编程方式是使用大括号:

kaggle datasets download allen-institute-for-ai/CORD-19-research-challenge

答案 1 :(得分:0)

在Jupyter单元中尝试以下操作:

options(java.parameters = "-Xmx8g")
library(bartMachine)

data(iris)
iris2 = iris[51:150,]
iris2$Species = factor(iris2$Species)

#build BART classification model
set_bart_machine_num_cores(4)
do.bart = function(){
for(i in 1:30){
bart_machine = build_bart_machine(iris2[ ,1:4], iris2$Species)
}
}

do.bart()

然后运行单元格,并将从其评估返回的编码字符串复制/粘贴到魔术中。

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