Sdílet prostřednictvím


Připojení ke službě SQL Database pomocí jazyka C a C++

Platí pro:Azure SQL Database

Tento článek pomáhá vývojářům jazyka C a C++ připojit se ke službě Azure SQL Database.

Požadavky

K dokončení kroků v této příručce potřebujete následující:

  • Aktivní účet Azure Pokud žádný nemáte, můžete si zaregistrovat bezplatnou zkušební verzi Azure.
  • Visual Studio. Abyste mohli sestavit a spustit tuto ukázku, musíte nainstalovat součásti jazyka C++.
  • Vývoj pro Visual Studio pro Linux Pokud vyvíjíte v Linuxu, musíte také nainstalovat rozšíření Visual Studio Linux.

Technologie přístupu k datům: ODBC a OLE DB

K Azure SQL Database se v současné době můžete připojit dvěma způsoby: ODBC (připojení k open database) a OLE DB (propojování objektů a vkládání databáze). V posledních letech microsoft v souladu s rozhraním ODBC pro nativní přístup k relačním datům. Rozhraní ODBC je mnohem rychlejší než OLE DB. Jediným upozorněním je, že rozhraní ODBC používá staré rozhraní API ve stylu jazyka C.

Vytvoření služby Azure SQL Database

Na stránce Začínáme se dozvíte, jak vytvořit ukázkovou databázi.

Získání připojovací řetězec

Po zřízení služby Azure SQL Database je potřeba provést následující kroky, abyste zjistili informace o připojení a přidali IP adresu klienta pro přístup k bráně firewall.

  1. Na webu Azure Portal přejděte k připojovacím řetězcům služby Azure SQL Database pomocí části Zobrazit připojovací řetězce databáze uvedené v části Přehled vaší databáze:

    Snímek obrazovky z Azure Portalu se stránkou Přehled databáze SQL. Odkaz zobrazit připojovací řetězce databáze je zvýrazněný.

  2. Vyberte kartu ODBC .

    Snímek obrazovky z Azure portálu s připojovacím řetězcem ODBC.

  3. Zkopírujte obsah řetězce ODBC (zahrnuje Node.js) [ověřování SQL]. Tento řetězec použijeme později pro připojení z překladače příkazového řádku ODBC jazyka C++. Tento řetězec obsahuje podrobnosti, jako jsou ovladače, server a další parametry připojení k databázi.

Přidání IP adresy do brány firewall

  1. Přejděte na logický server Azure SQL Database. Na stránce Přehled databáze SQL vyberte odkaz pro název serveru nebo na něj přejděte prostřednictvím vyhledávání na webu Azure Portal.
  2. V části Zabezpečení vyberte Sítě.
  3. Na kartě Veřejný přístup vyberte Vybrané sítě , pokud ještě nejsou.
  4. Přidejte ip adresu klienta do brány firewall pomocí těchto kroků , abychom měli jistotu, že můžeme navázat úspěšné připojení. Vyberte Přidat adresu IPv4 klienta nebo přidejte pravidlo firewallu.

V tuto chvíli jste nakonfigurovali službu Azure SQL Database a jste připraveni se připojit z kódu C++ z pracovní stanice.

Návod

Přidání IP adresy pracovní stanice klienta do brány firewall veřejné sítě je přijatelné pro dočasné nastavení testovacího prostředí nebo učení, ale pro podnikové řešení nebo dlouhodobý projekt, postupujte podle těchto osvědčených postupů zabezpečení:

  • Nastavte možnost Povolit službám a prostředkům Azure přístup k tomuto serveru na hodnotu VYPNUTO na úrovni serveru.
  • Použijte koncové body služby VNet a pravidla brány firewall VNet.
  • Použijte Službu Private Link.

Připojení z aplikace C/C++ systému Windows

Pomocí této ukázky, která se sestavuje pomocí sady Visual Studio, se můžete snadno připojit ke službě Azure SQL Database pomocí rozhraní ODBC ve Windows. Ukázka implementuje interpret příkazového řádku ODBC, který se dá použít k připojení k naší službě Azure SQL Database. Tato ukázka přebírá soubor názvu zdroje databáze (DSN) jako argument příkazového řádku nebo podrobný připojovací řetězec, který jsme zkopírovali dříve z webu Azure Portal. Otevřete stránku vlastností pro tento projekt a vložte připojovací řetězec jako argument příkazu, jak je znázorněno tady:

DSN Propsfile.

Ujistěte se, že jako součást této databáze připojovací řetězec zadáte správné podrobnosti ověřování pro vaši databázi.

Spusťte aplikaci a sestavte ji. Mělo by se zobrazit následující okno, které ověřuje úspěšné připojení. Můžete dokonce spustit některé základní příkazy SQL, jako CREATE TABLE, abyste ověřili připojení k databázi:

Snímek obrazovky připojení C++ v odbcsql.exe.

Případně můžete vytvořit soubor DSN pomocí průvodce, který se spustí, když nejsou zadané žádné argumenty příkazu. Doporučujeme vyzkoušet i tuto možnost. Tento soubor DSN můžete použít pro automatizaci a ochranu nastavení ověřování:

Snímek obrazovky s procesem vytvoření souboru DSN na stránce Vybrat zdroj dat

Gratulujeme! Nyní jste se úspěšně připojili k Azure SQL pomocí C++ a ODBC ve Windows. Můžete pokračovat ve čtení a dělat to samé i pro platformu Linux.

Připojení z aplikace C/C++ pro Linux

V sadě Visual Studio můžete vyvíjet linuxové aplikace C++. Další informace najdete v následujícím blogu: Visual C++ for Linux Development.

K sestavení pro Linux potřebujete vzdálený počítač, na kterém běží distribuce Linuxu. Pokud ho nemáte k dispozici, můžete si ho rychle nastavit pomocí virtuálních počítačů Azure s Linuxem a různými metodami nasazení.

Tato příručka předpokládá, že máte nastavenou distribuci Ubuntu 16.04 Linux. Postup platí také pro Ubuntu 15.10, Red Hat 6 a Red Hat 7.

Následující kroky nainstalují knihovny potřebné pro SQL a ODBC pro distribuci:

    sudo su
    sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-test/ xenial main" > /etc/apt/sources.list.d/mssqlpreview.list'
    sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
    apt-get update
    apt-get install msodbcsql
    apt-get install unixodbc-dev-utf16 #this step is optional but recommended*

Spusťte Visual Studio. V části Nástroje ->Možnosti ->Cross Platform ->Správce připojení přidejte připojení k vašemu Linuxovému serveru:

Snímek obrazovky s možnostmi nástrojů pro vytvoření a odebrání připojení SSH

Po vytvoření připojení přes SSH vytvořte prázdnou šablonu projektu (Linux):

Snímek obrazovky se šablonami pro nové projekty

Potom můžete přidat nový zdrojový soubor jazyka C a nahradit ho tímto obsahem. Pomocí rozhraní API SQLAllocHandleODBC , SQLSetConnectAttra SQLDriverConnect, byste měli být schopni inicializovat a navázat připojení k databázi.

Stejně jako u ukázky rozhraní ODBC pro Windows je potřeba volání SQLDriverConnect nahradit podrobnostmi z parametrů připojovacího řetězce databáze, které jste dříve zkopírovali z portálu Azure.

     retcode = SQLDriverConnect(
        hdbc, NULL, "Driver=ODBC Driver 13 for SQL"
                    "Server;Server=<yourserver>;Uid=<yourusername>;Pwd="
                    "<password>;database=<yourdatabase>",
        SQL_NTS, outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT);

Poslední věcí, kterou je potřeba udělat před kompilací, je přidání odbc jako závislosti knihovny:

Snímek obrazovky s přidáním ODBC jako vstupní knihovny.

Aplikaci spustíte tak, že v nabídce Ladění vyvoláte konzolu Linuxu:

Snímek obrazovky položky nabídky Konzole pro Linux

Pokud vaše připojení proběhlo úspěšně, měli byste vidět aktuální název databáze vytištěný v konzole linuxu:

Snímek obrazovky s výstupem okna konzoly Linuxu

Gratulujeme! Průvodce jste úspěšně dokončili a teď se můžete připojit ke službě Azure SQL Database z C++ na platformách Windows a Linux.

Získání kompletního řešení kurzu jazyka C/C++

Řešení, které obsahuje všechny ukázky, najdete GetStarted v tomto článku na GitHubu: