Blog Analityczny. Narzędzia. Techniki. Rozwiązania Analityczne.

Połączenie z MSSQL Server z poziomu Google Colab

10.2022 | Google Colab | MSSQL Server | Połączenie Colab z MSSQL

Połączenie z serwerem MSSQL (SQL Server), z poziomu arkusza Google Colab, wymaga wykonania kilku operacji towarzyszących.

Instalacja prerekwizytów

Po pierwsze, musimy zainstalować, w środowisku Google Colab, niezbędne sterowniki / komponenty.

Realizujemy to poleceniem:

%%sh

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

sudo apt-get update

sudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17

Po drugie, należy zainstalować pakiet pyodbc. Jest to pakiet, który pozwala na łączenie się z bazami poprzez interfejs ODBC.

!pip install pyodbc

Po trzecie, dokonujemy importu pakietu pyodbc

Import pyodbc

Ustawienie połączenia do bazy

Po czwarte, podajemy parametry połączenia:

connection_params = ("Driver={ODBC Driver 17 for SQL Server};"

"Server=sql_nazwa_serwera;"

"Database=nazwa_bazy_danych;"

"UID=NazwaUsera;"

"PWD=HasloUstawioneNaSerwerze;")

Dane oznaczają kolejno:

  • Driver (musi być uprzednio zainstalowany w ramach Google Colab - zobacz linijki wyżej)
  • Server - nazwa serwera bazy danych
  • Database - nazwa bazy danych
  • UID - nazwa użytkownika
  • PWD - password

Na koniec zostaje nam wykonać połączenie.

connection = pyodbc.connect(connection_params)

Jako wynik dostajemy dostęp do obiektu, co pozwala na dalszą interakcję z bazą danych, czyli wykonywanie operacji CRUD.

Poniżej znajduje się pełny arkusz Google Colab, w którym są kolejne kroki od instalacji wymaganych komponentów, po pobranie przykładowego zestawu danych.

Uwaga: w celu publikacji kod został zmodyfikowany tzn. zostały usunięte rzeczywiste parametry bazy danych oraz otrzymane wyniki zapytania SELECT. Wystarczy jednak, aby podstawić tu dane własnej bazy i arkusz zadziała w pełni poprawnie.

Uwaga2: arkusz dotyczy przypadku, gdy autoryzacja do serwera MSSQL odbywa się poprzez użytkownika i hasło zdefiniowane na serwerze.