GNU/Linux >> Znalost Linux >  >> Linux

Jak se připojit k SQL Serveru z Linuxu

Ve světě dokonalého správce databází by bylo vše při starém. Všechny servery by byly identické a provozovaly by stejné zátěže. Snadněji se ovládají. Ale není tomu tak. V dnešní době musí správci systému spravovat různá prostředí. To nemůže být zřetelnější v potřebě provádět dotazy SQL z počítače se systémem Linux. V tomto příspěvku se dozvíte, jak se připojit k SQL Serveru z Linuxu!

Nejste čtenář? Podívejte se na tento související video tutoriál! Nevidíte video? Ujistěte se, že máte vypnutý blokovač reklam.

Jedním ze způsobů připojení k SQL Serveru z Linuxu je použití modulu Python. Ale než se dostanete tak daleko, pojďme nejprve pokrýt, s jakým prostředím pracuji.

V tomto článku předvedu tento úkol pomocí Ubuntu 16.04 a připojím se k SQL Server 2012 R2. Stejná technika by však měla platit i pro další varianty Linuxu a verze SQL Serveru. Správci databáze se radují!

Předpoklady

Chcete-li začít, budete muset nainstalovat několik předpokladů. Za prvé, protože se budete připojovat k instanci SQL Serveru z Pythonu, budete potřebovat modul Pythonu. Běžný modul Pythonu pro připojení k SQL se nazývá PyODBC. Tento modul umožňuje dotazovat se na databáze SQL přes ODBC pomocí ovladače SQL Server ODBC pro Linux. Chcete-li získat nejnovější verzi, použijte pip (správce balíčků Pythonu).

> sudo pip install pyodbc

Pokud to nefunguje, možná nemáte nainstalovaný pip. Chcete-li nainstalovat pip:

> sudo easy_install pip

Dále musíte vytvořit skript Python. Budu to nazývat sql_server.py . Chcete-li vytvořit skript Python, nejprve vytvořte prázdný soubor.

> touch sql_server.py

Poté pomocí zvoleného editoru přidejte níže uvedené řádky. Shebang následovaný cestou k binárce Pythonu říká interpretovi, že se jedná o skript Python. import příkaz pak umožňuje volat metody knihovny uvnitř modulu pyodbc. Uložte tento skript.

!/usr/bin/python
import pyodbc

Jakmile budete mít vytvořený skript Python, spusťte skript:

> python sql_server.py

Pokud to proběhne bez chyby, modul pyodbc byl úspěšně nainstalován.

Dále přidejte kód pro provedení testovacího dotazu. Chcete-li to provést, vytvořte řetězec ODBC.

Chcete-li se dozvědět více o vytváření řetězců ODBC, zde je dobrý zdroj.

Řetězec ODBC je náročný na to, co je zahrnuto. Chvíli trvalo, než jsem přišel na to, jak to udělat, ale tady je to, jak ten můj vypadá. Níže předávám řetězec ODBC jako argument do connect() metoda, která je součástí pyodbc modul.

conn = pyodbc.connect('DRIVER={FreeTDS};SERVER=server.domain.local;PORT=1433;UID=DOMAIN\user;PWD=mypassword;DATABASE=mydatabasename;UseNTLMv2=yes;TDS_Version=8.0;Trusted_Domain=domain.local;')

Většina řetězce ODBC je evidentní, ale jedním důležitým faktem je dvojité zpětné lomítko pro UID . Vždy se ujistěte, že jste v řetězci ODBC vynechali všechna zpětná lomítka. Některé z možností, které používám, jsou také volitelné.

Můžete také použít název hostitele pro SERVER jak jsem to udělal výše, nebo můžete použít IP adresu serveru SQL.

Neváhejte je přidat nebo odebrat, jak uznáte za vhodné, aby odpovídaly vašemu SQL Serveru.

Dále musíte vytvořit objekt kurzoru, který vám umožní předat příkaz T-SQL. To se provádí pomocí cursor() metoda.

cursor = conn.cursor()

Nyní máte objekt s execute() metoda, kterou lze použít k předání libovolného příkazu T-SQL, do kterého bychom chtěli, jak je uvedeno níže. Tím se vytvoří rows proměnná obsahující výslednou datovou sadu.

cursor.execute("SELECT * FROM <tablename>")
rows = cursor.fetchall()

Nyní jste v bodě, kdy se budete muset rozhodnout, co s datovou sadou dělat. Výsledky můžete odeslat do souboru CSV, vložit výsledky do jiné databáze nebo zapsat obsah do konzole.

Níže vytisknu výsledky do konzole, pokud je datová sada naplněna.

if rows:
    print(rows)

Můžete vidět, že pokud je datová sada vytištěna na konzole, výstup není příliš pěkný. V tuto chvíli je na vás, abyste se rozhodli, jak data z databáze naformátovat nebo analyzovat. Nejtěžší část je u konce!

Nyní skončíte se skriptem, který vypadá takto:

!/usr/bin/python
import pyodbc

conn = pyodbc.connect('DRIVER={FreeTDS};SERVER=server.domain.local;PORT=1433;UID=DOMAIN\user;PWD=mypassword;DATABASE=mydatabasename;UseNTLMv2=yes;TDS_Version=8.0;Trusted_Domain=domain.local;')

cursor.execute("SELECT * FROM <tablename>")
rows = cursor.fetchall()

if rows:
    print(rows)

Přehled

V tomto příspěvku na blogu jste se naučili používat pyodbc Modul Python v systému Linux pro připojení ke zdroji dat SQL Server. Nejtěžší pro mě bylo přijít na řetězec ODBC, ale jakmile to pochopíte, měli byste plavbu hladce.

Jakmile se připojíte z Linuxu, proč se nepodívat, zda můžete zvýšit výkon pomocí čítačů výkonu?


Linux
  1. Jak nainstalovat Python na Linux

  2. Jak nainstalovat Python na Linux Mint 20

  3. Jak zavolat Wine dll z pythonu na Linuxu?

  1. jak se připojit k serveru SQL pomocí SQuirreL SQL z krabice Linux bez registrace domény?

  2. Mohu se připojit k počítači se systémem Windows z prostředí Linux?

  3. Jak se připojit k Juniper VPN z Linuxu

  1. Jak na SSH na Linuxu z Androidu

  2. Jak stahovat soubory ze serveru SFTP pomocí skriptu python

  3. Připojte se k Linuxu z Mac OS X pomocí Terminálu