Как подключить студию управления Microsoft SQL Server к ноутбуку Jupyter?

#sql-server #database #jupyter-notebook #configuration #pyodbc

Вопрос:

Я хотел подключить свою базу данных к записной книжке python jupter. Шаги, которые я предпринял:

  1. Установил pyodbc и импортировал в свой ноутбук
  2. pyodbc.драйверы()
  3. cnxn = pyodbc.connect(‘ДРАЙВЕР={Драйвер ODBC 17 для SQL Server};СЕРВЕР=;БАЗА ДАННЫХ=;’)

Однако он все еще терпит неудачу. Я путаюсь с именем сервера и подключения.

  1. Каким будет мое имя сервера — имя сервера/подключения?(Пожалуйста, найдите скриншот)
  2. Чтобы подключиться к jupyter, нужно ли мне настраивать его где-нибудь в management studio?

введите описание изображения здесь

Заранее спасибо!

Ответ №1:

Как только вы загрузили и импортировали pyodbc в свой ноутбук, все в порядке.Теперь вам нужно настроить ODBC в службе SQL Server.

  • Запустите ODBC, затем перейдите в Системный DSN и нажмите правую кнопку «Добавить».
  • Эта процедура откроет мастер создания источника данных ODBC для подключения к SQL Server.
  • Заполните имя ODBC, описание и, что наиболее важно, Сервер (Имя компьютераИмя экземпляра), который является строкой подключения для SQL server.
  • Нажмите далее Использовать аутентификацию SQL server (у вас должен быть пользователь с аутентификацией SQL) , введите логин и пароль, затем нажмите Далее.
  • Выберите Defult databse, затем нажмите «Далее», затем «Готово» и проверьте подключение, чтобы показать, что ТЕСТЫ УСПЕШНО ЗАВЕРШЕНЫ!
  • Нажмите Применить и закройте ODBC

Вернемся к записной книжке юпитера

-установите sql в своей среде:

pip install ipython-sql

  • Откройте новый блокнот и импортируйте ниже в одну ячейку

import pandas as pd

import pyodbc

  • Запустите ячейку ниже, чтобы установить соединение
 %load_ext sql
%sql mssql pyodbc://sqlauthuser:password@ODBCName
 
  • чтобы выполнить SQL-запрос, вы должны сохранить его переменную, как показано ниже в примере:
 db_query='''

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP (1000) [BusinessEntityID]
      ,[AddressID]
      ,[AddressTypeID]
      ,[rowguid]
      ,[ModifiedDate]
  FROM [AdventureWorks2019].[Person].[BusinessEntityAddress]'''

 

— Чтобы показать результаты, запустите ячейку ниже

%sql $db_query