Csatlakozás AZ SQL Database-hez C és C++ használatával

A következőre vonatkozik: Azure SQL Database

Ez a bejegyzés az Azure SQL Database-hez csatlakozni próbáló C és C++ fejlesztőknek szól. Ez szakaszokra van bontva, így a legjobban megragadó szakaszra ugorhat.

A C/C++ oktatóanyag előfeltételei

Győződjön meg róla, hogy rendelkezik az alábbi elemekkel:

Azure SQL Database és SQL Server virtuális gépeken

Az Azure SQL Database a Microsoft SQL Serverre épül, és magas rendelkezésre állású, teljesítményű és méretezhető szolgáltatást biztosít. Az Azure SQL használatának számos előnye van a helyszínen futó saját adatbázison keresztül. Az Azure SQL-ben nem kell telepítenie, beállítania, karbantartani vagy kezelnie az adatbázist, csak az adatbázis tartalmát és szerkezetét. Az adatbázisok, például a hibatűrés és a redundancia miatt aggódó tipikus dolgok mind beépítettek.

Az Azure jelenleg két lehetőséget kínál az SQL Server számítási feladatainak üzemeltetésére: az Azure SQL Database-t, a szolgáltatásként használt adatbázist és a virtuális gépeken futó SQL Servert. A kettő közötti különbségekkel nem foglalkozunk részletesen, azzal a különbséggel, hogy az Azure SQL Database a legjobb megoldás az új felhőalapú alkalmazások számára, hogy kihasználhassa a felhőszolgáltatások által nyújtott költségmegtakarítást és teljesítményoptimalizálást. Ha a helyszíni alkalmazások felhőbe való migrálását vagy kiterjesztését fontolgatja, az Azure-beli virtuális gépen futó SQL Server jobban működik. A cikk egyszerűségéhez hozzunk létre egy Azure SQL Database-adatbázist.

Adathozzáférési technológiák: ODBC és OLE DB

Az Azure SQL Database-hez való csatlakozás nem különbözik egymástól, és jelenleg kétféleképpen lehet csatlakozni az adatbázisokhoz: ODBC (Open Database connectivity) és OLE DB (Object Linking and Embedding database). Az elmúlt években a Microsoft az ODBC-hez igazodott a natív relációs adathozzáférés érdekében. Az ODBC viszonylag egyszerű és sokkal gyorsabb, mint az OLE DB. Itt az egyetlen kikötés, hogy az ODBC egy régi C-stílusú API-t használ.

1. lépés: Az Azure SQL Database létrehozása

Tekintse meg az első lépéseket ismertető oldalt , amelyből megtudhatja, hogyan hozhat létre mintaadatbázist. Másik lehetőségként ezt a rövid kétperces videót követve létrehozhat egy Azure SQL Database-adatbázist az Azure Portal használatával.

2. lépés: Kapcsolati sztring lekérése

Az Azure SQL Database kiépítése után a következő lépéseket kell végrehajtania a kapcsolati adatok meghatározásához, és hozzá kell adnia az ügyfél IP-címét a tűzfalhoz való hozzáféréshez.

Az Azure Portalon lépjen az Azure SQL Database ODBC kapcsolati sztringjéhez az adatbázis áttekintési szakaszának részeként felsorolt adatbázis-kapcsolati sztringek megjelenítésével:

ODBCConnectionString

ODBCConnectionStringProps

Másolja ki az ODBC (Beleértve a Node.js) [SQL authentication] sztring tartalmát. Ezt a sztringet később használjuk a C++ ODBC parancssori értelmezőnkből való csatlakozáshoz. Ez a sztring olyan részleteket tartalmaz, mint az illesztőprogram, a kiszolgáló és más adatbázis-kapcsolati paraméterek.

3. lépés: IP-cím hozzáadása a tűzfalhoz

Lépjen a kiszolgáló tűzfalszakaszára, és adja hozzá az ügyfél IP-címét a tűzfalhoz az alábbi lépésekkel , hogy biztosan létre tudjunk hozni egy sikeres kapcsolatot:

AddyourIPWindow

Ezen a ponton konfigurálta az Azure SQL Database-t, és készen áll a csatlakozásra a C++ kódból.

4. lépés: Csatlakozás Windows C/C++ alkalmazásból

A Visual Studióval készült minta használatával egyszerűen csatlakozhat az Azure SQL Database-hez a Windows ODBC használatával. A minta egy ODBC parancssori értelmezőt implementál, amely az Azure SQL Database-hez való csatlakozáshoz használható. Ez a minta egy adatbázis-forrásnévfájlt (DSN) használ parancssori argumentumként, vagy a korábban az Azure Portalról másolt részletes kapcsolati sztringet. Hozza létre a projekt tulajdonságoldalát, és illessze be a kapcsolati sztringet parancsargumentumként az itt látható módon:

DSN Propsfile

Győződjön meg arról, hogy az adatbázis megfelelő hitelesítési adatait adja meg az adatbázis kapcsolati sztringjének részeként.

Indítsa el az alkalmazást a buildeléshez. A sikeres kapcsolatot az alábbi ablakban kell látnia. Néhány alapvető SQL-parancsot is futtathat, például tábla létrehozása az adatbázis-kapcsolat ellenőrzéséhez:

SQL Commands

Másik lehetőségként létrehozhat egy DSN-fájlt a varázslóval, amely akkor indul el, ha nincsenek megadva parancsargumentumok. Javasoljuk, hogy ezt a lehetőséget is próbálja ki. Ezt a DSN-fájlt az automatizáláshoz és a hitelesítési beállítások védelméhez használhatja:

Create DSN File

Gratulálunk! Most sikeresen csatlakozott az Azure SQL-hez a C++ és az ODBC használatával Windows rendszeren. Folytathatja az olvasást, hogy ugyanezt tegye a Linux platformon is.

5. lépés: Csatlakozás Linux C/C++ alkalmazásból

Ha még nem hallotta a híreket, a Visual Studio mostantól C++ Linux-alkalmazás fejlesztését is lehetővé teszi. Erről az új forgatókönyvről a Visual C++ for Linux Development blogban olvashat. Linuxra való buildeléshez egy távoli gépre van szükség, amelyen fut a Linux-disztribúció. Ha nincs elérhető példánya, gyorsan beállíthat egyet Linux Azure-beli virtuális gépek használatával.

Ebben az oktatóanyagban feltételezzük, hogy Ubuntu 16.04 Linux-disztribúció van beállítva. Az itt leírt lépéseknek az Ubuntu 15.10-et, a Red Hat 6-ot és a Red Hat 7-et is alkalmazniuk kell.

Az alábbi lépésekben telepítse a disztribúcióhoz szükséges SQL- és ODBC-kódtárakat:

    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*

Indítsa el a Visual Studiót. Az Eszközök – Beállítások –>> Platformfüggetlen –> Kapcsolatkezelő területen adjon hozzá egy kapcsolatot a Linux-mezőhöz:

Tools Options

Miután létrejött a kapcsolat az SSH-n keresztül, hozzon létre egy Üres projekt (Linux) sablont:

New project template

Ezután hozzáadhat egy új C-forrásfájlt , és lecserélheti erre a tartalomra. Az SQLAllocHandle, az SQLSetConnectAttr és az SQLDriverConnect ODBC API-kkal inicializálhatja és létrehozhat egy kapcsolatot az adatbázissal. A Windows ODBC-mintához hasonlóan az SQLDriverConnect-hívást is le kell cserélnie az adatbázis-kapcsolati sztring paramétereinek az Azure Portalról korábban másolt részleteire.

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

A fordítás előtt az utolsó teendő az odbc könyvtárfüggőségként való hozzáadása:

Adding ODBC as an input library

Az alkalmazás elindításához nyissa meg a Linux-konzolt a Hibakeresés menüből:

Linux Console

Ha a kapcsolat sikeres volt, most már látnia kell az adatbázis aktuális nevét a Linux-konzolon:

Linux Console Window Output

Gratulálunk! Sikeresen elvégezte az oktatóanyagot, és most már csatlakozhat az Azure SQL Database-hez a C++-ról Windows és Linux platformokon.

A teljes C/C++ oktatóanyag-megoldás lekérése

A jelen cikkben szereplő összes mintát tartalmazó GetStarted-megoldást a GitHubon találja:

További lépések

További erőforrások