Megosztás a következőn keresztül:


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

A következőkre vonatkozik:Azure SQL Database

Ez a cikk segít a C és C++ fejlesztőknek az Azure SQL Database-hez való csatlakozásban.

Előfeltételek

Az útmutató lépéseinek elvégzéséhez a következőkre van szüksége:

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

Jelenleg kétféleképpen lehet csatlakozni az Azure SQL Database-hez: 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 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.

Az Azure SQL Database-adatbázis létrehozása

Tekintse meg az első lépéseket ismertető oldalt , amelyből megtudhatja, hogyan hozhat létre mintaadatbázist.

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.

  1. Az Azure portálon lépjen az Azure SQL Database kapcsolati karakterláncaira az Áttekintés szakaszban található kapcsolati karakterláncok megjelenítése használatával:

    Képernyőkép egy SQL-adatbázis Azure Portaljának áttekintési oldaláról. Az adatbázis kapcsolati sztringjeinek megjelenítése hivatkozás ki van emelve.

  2. Válassza az ODBC lapot.

    Képernyőkép egy ODBC-kapcsolati sztring Azure Portaljáról.

  3. Másolja ki az ODBC (Beleértve a Node.js) [SQL authentication] karakterlánc 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.

IP-cím hozzáadása a tűzfalhoz

  1. Lépjen az Azure SQL Database logikai kiszolgálóra. Válassza ki a kiszolgáló nevének hivatkozását az SQL-adatbázis Áttekintés lapján, vagy navigáljon rá az Azure Portal keresésével.
  2. A Biztonságiterületen válassza a Hálózatkezelésilehetőséget.
  3. A Nyilvános hozzáférés lapon válassza a Kijelölt hálózatok lehetőséget, ha még nem tette meg.
  4. 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. Válassza az Ügyfél IPv4-címének hozzáadása vagy tűzfalszabály hozzáadása lehetőséget.

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

Jótanács

Az ügyfél munkaállomásÁNAK IP-címének nyilvános hálózati tűzfalhoz való hozzáadása elfogadható egy ideiglenes tesztkörnyezet vagy tanulási beállítás esetében, de vállalati megoldáshoz vagy hosszú élettartamú projekthez kövesse az alábbi ajánlott biztonsági eljárásokat:

  • Kapcsolja ki a kiszolgáló szintjén a „Azure-szolgáltatások és -erőforrások hozzáférhetnek a kiszolgálóhoz” beállítást.
  • Használjon virtuális hálózati szolgáltatásvégpontokat és virtuális hálózati tűzfalszabályokat.
  • Privát hivatkozás használata.

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ásnevet (DSN) tartalmazó fájlt használ parancssori argumentumként, vagy a korábban az Azure portálról másolt bővebb kapcsolati karakterláncot. 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 az összeállításhoz. Az alábbi ablakban láthatja, hogy a kapcsolat sikeres volt. Néhány alapvető SQL-parancsot is futtathat, például CREATE TABLE az adatbázis-kapcsolat ellenőrzéséhez:

Képernyőkép a C++ kapcsolatokról odbcsql.exe.

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:

Képernyőkép a DSN-fájl létrehozásának folyamatáról, az Adatforrás kiválasztása lapról.

Gratulálok! 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.

Csatlakozás Linux C/C++ alkalmazásból

C++ Linux-alkalmazásokat fejleszthet a Visual Studióban. További információért tekintse át a következő blogot: Visual C++ for Linux Development.

Linuxra való buildeléshez egy távoli gépre van szükség, amelyen fut a Linux-disztribúció. Ha nem rendelkezik elérhetővel, gyorsan beállíthat egyet Linux Azure-beli virtuális gépek és különféle üzembe helyezési módszerek használatával.

Ez az útmutató feltételezi, hogy Ubuntu 16.04 Linux-disztribúció van beállítva. A lépések az Ubuntu 15.10, a Red Hat 6 és a Red Hat 7 rendszerre is érvényesek.

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ítsd el a Visual Studiót. Az Eszközök –>Beállítások –>Cross Platform–>Kapcsolatkezelő területen adjon hozzá egy kapcsolatot a Linux-géphez:

Képernyőkép az Eszközök beállításairól az SSH-kapcsolatok létrehozásához és eltávolításához.

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

Képernyőkép az új projektek sablonjairól.

Ezután hozzáadhat egy új C-forrásfájlt, és az alábbi tartalommal lecserélheti. Az ODBC API-k SQLAllocHandle, SQLSetConnectAttr és SQLDriverConnect használatával képesnek kellene lennie inicializálni és létrehozni egy kapcsolatot az adatbázisához.

A Windows ODBC-mintához hasonlóan a SQLDriverConnect hívást is le kell cserélnie az azure portalról korábban másolt adatbázis-kapcsolati sztring paramétereinek részleteire.

     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);

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

Képernyőkép az ODBC beviteli kódtárként való hozzáadásáról.

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

Képernyőkép a Linux-konzol menüjéről.

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

Képernyőkép a Linux konzolablak kimenetéről.

Gratulálok! Sikeresen elvégezte az útmutatót, é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

Az ebben a GetStarted cikkben szereplő összes mintát tartalmazó megoldást a GitHubon találja: