Подключение к SQL Server через магию SQL в Jupyter Lab - PullRequest
1 голос
/ 08 мая 2019

Я пытаюсь подключиться к нашей удаленной базе данных sql server через 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")

В идеале я бы хотел подключиться к Magics с помощью DSN (я тоже пробовал это сделать, но ничего не получалось):

%load_ext sql
%sql engine = create_engine("mssql+pyodbc://DSN;Trusted_Connection = Yes")

Есть ли какая-нибудь помощь по установлению соединения?

1 Ответ

1 голос
/ 30 мая 2019

Попробуйте это из клетки Юпитера:

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]
...