Dela via


Ansluta till SQL Database med C och C++

gäller för:Azure SQL Database

Den här artikeln hjälper C- och C++-utvecklare att ansluta till Azure SQL Database.

Förutsättningar

För att slutföra stegen i den här guiden behöver du följande:

Dataåtkomsttekniker: ODBC och OLE DB

Det finns för närvarande två sätt att ansluta till Azure SQL Database: ODBC (Open Database Connectivity) och OLE DB (objektlänkning och inbäddningsdatabas). Under de senaste åren har Microsoft anpassat sig till ODBC för intern relationsdataåtkomst. ODBC är mycket snabbare än OLE DB. Den enda varning här är att ODBC använder ett gammalt API i C-stil.

Skapa en Azure SQL Database

Se komma igång-sidan för att lära dig hur du skapar en exempeldatabas.

Hämta anslutningssträng

När azure SQL Database har etablerats måste du utföra följande steg för att fastställa anslutningsinformation och lägga till klient-IP-adressen för brandväggsåtkomst.

  1. I Azure-portalen går du till dina Anslutningssträngar för Azure SQL Database med hjälp av visa databasanslutningssträngar som anges som en del av avsnittet Översikt för din databas:

    Skärmbild från Azure-portalen för en översiktssida för EN SQL-databas. Länken visa databasanslutningssträngar är markerad.

  2. Välj fliken ODBC .

    Skärmbild från Azure-portalen för en ODBC-anslutningssträng.

  3. Kopiera innehållet i ODBC-strängen (innehåller Node.js) [SQL-autentisering]. Vi använder den här strängen senare för att ansluta från vår C++ ODBC-kommandoradstolk. Den här strängen innehåller information som drivrutins-, server- och andra databasanslutningsparametrar.

Lägg till din IP-adress i brandväggen

  1. Gå till den logiska Azure SQL Database-servern. Välj länken för Servernamn på sidan Översikt för din SQL-databas eller navigera till den via Azure Portal-sökningen.
  2. Under Securityväljer du Nätverk.
  3. Under fliken Offentlig åtkomst väljer du Valda nätverk om de inte redan finns.
  4. Lägg till din klient-IP i brandväggen med hjälp av dessa steg för att se till att vi kan upprätta en lyckad anslutning. Välj Lägg till din klient-IPv4-adress eller lägg till en brandväggsregel.

Nu har du konfigurerat din Azure SQL Database och är redo att ansluta från C++-koden från din arbetsstation.

Tips/Råd

Att lägga till klientens arbetsstations-IP i brandväggen för det offentliga nätverket är acceptabelt för en tillfällig labb- eller inlärningsinstallation, men för en företagslösning eller ett långvarigt projekt följer du dessa metodtips för säkerhet:

  • Ange Tillåt Azure-tjänster och resurser att få åtkomst till den här servern till Stäng av till servernivå.
  • Använd VNet-tjänstslutpunkter och VNet-brandväggsregler.
  • Använd Private Link.

Ansluta från ett Windows C/C++-program

Du kan enkelt ansluta till din Azure SQL Database med HJÄLP av ODBC i Windows med hjälp av det här exemplet som skapas med Visual Studio. Exemplet implementerar en ODBC-kommandoradstolk som kan användas för att ansluta till vår Azure SQL Database. Det här exemplet tar antingen en DSN-fil (Database Source Name File) som kommandoradsargument eller den utförliga anslutningssträng som vi kopierade tidigare från Azure-portalen. Ta upp egenskapssidan för det här projektet och klistra in anslutningssträngen som ett kommandoargument som visas här:

DSN Propsfile.

Se till att du anger rätt autentiseringsinformation för databasen som en del av databasanslutningssträngen.

Starta programmet för att skapa det. Du bör se följande fönster som verifierar en lyckad anslutning. Du kan till och med köra några grundläggande SQL-kommandon som CREATE TABLE att verifiera databasanslutningen:

Skärmbild av C++-anslutningarna i odbcsql.exe.

Du kan också skapa en DSN-fil med hjälp av guiden som startas när inga kommandoargument anges. Vi rekommenderar att du även provar det här alternativet. Du kan använda den här DSN-filen för automatisering och skydda dina autentiseringsinställningar:

Skärmbild av processen skapa DSN-fil, sidan Välj datakälla.

Grattis! Nu har du anslutit till Azure SQL med C++ och ODBC i Windows. Du kan fortsätta läsa för att göra samma sak för Linux-plattformen också.

Ansluta från ett Linux C/C++-program

Du kan utveckla C++ Linux-program i Visual Studio. Mer information finns i följande blogg: Visual C++ för Linux Development.

För att skapa för Linux behöver du en fjärrdator där Linux-distributionen körs. Om du inte har någon tillgänglig kan du konfigurera en snabbt med hjälp av virtuella Linux Azure-datorer och en mängd olika distributionsmetoder.

Den här guiden förutsätter att du har konfigurerat en Ubuntu 16.04 Linux-distribution. Stegen gäller även för Ubuntu 15.10, Red Hat 6 och Red Hat 7.

Följande steg installerar de bibliotek som behövs för SQL och ODBC för distributionen:

    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*

Starta Visual Studio. Under Verktyg –>Alternativ –>Plattformsoberoende –>Anslutningshanterare, lägger du till en anslutning till din Linux-dator:

Skärmbild från Verktygsalternativ för att skapa och ta bort SSH-anslutningar.

När anslutningen över SSH har upprättats skapar du en Tom projektmall (Linux):

Skärmbild av mallarna för nya projekt.

Du kan sedan lägga till en ny C-källfil och ersätta den med det här innehållet. Med hjälp av ODBC-API:erna SQLAllocHandle, SQLSetConnectAttroch SQLDriverConnectbör du kunna initiera och upprätta en anslutning till databasen.

Precis som med Windows ODBC-exemplet måste du ersätta anropet SQLDriverConnect med informationen från databasanslutningssträngsparametrarna som kopierats från Azure-portalen tidigare.

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

Det sista du behöver göra innan du kompilerar är att lägga till odbc som ett biblioteksberoende:

Skärmbild av att lägga till ODBC som ett indatabibliotek.

Starta programmet genom att öppna Linux-konsolen från felsökningsmenyn :

Skärmbild av menyalternativet för Linux-konsolen.

Om anslutningen lyckades bör du nu se det aktuella databasnamnet som skrivs ut i Linux-konsolen:

Skärmbild av utdata från Linux-konsolens fönster.

Grattis! Du har slutfört guiden och kan nu ansluta till din Azure SQL Database från C++ på Windows- och Linux-plattformar.

Hämta den fullständiga C/C++-självstudielösningen

Du hittar lösningen GetStarted som innehåller alla exempel i den här artikeln på GitHub: