Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:Database SQL di Azure
Questo articolo aiuta gli sviluppatori C e C++ a connettersi a database SQL di Azure.
Prerequisiti
Per seguire la procedura descritta in questa guida, sono necessari gli elementi seguenti:
- Un account Azure attivo. Se non si ha un account, è possibile iscriversi per ottenere una versione di valutazione gratuita di Azure.
- Visual Studio. Per compilare ed eseguire questo esempio, è necessario installare i componenti del linguaggio C++.
- Sviluppo di Linux per Visual Studio. Se si esegue lo sviluppo su Linux, è anche necessario installare l'estensione di Visual Studio per Linux.
Tecnologie di accesso ai dati: ODBC e OLE DB
Attualmente sono disponibili due modi per connettersi a database SQL di Azure: ODBC (Open Database Connectivity) e OLE DB (Object Linking and Embedding Database). Negli ultimi anni Microsoft si è allineata a ODBC per l'accesso ai dati relazionali nativi. ODBC è molto più veloce di OLE DB. Si tenga tuttavia presente che ODBC usa una vecchia API di tipo C.
Creare il database SQL di Azure
Vedere la pagina introduttiva per informazioni su come creare un database di esempio.
Ottenere una stringa di connessione
Dopo aver eseguito il provisioning del database SQL di Azure, è necessario eseguire la seguente procedura per determinare le informazioni di connessione e aggiungere l'IP client per l'accesso al firewall.
Nel portale di Azure passare alle stringhe di connessione del database SQL di Azure usando la sezione Mostra stringhe di connessione del database elencate come parte della sezione Panoramica per il database:
Selezionare la scheda ODBC .
Copiare il contenuto della stringa ODBC (include Node.js) [SQL authentication]. Questa stringa verrà usata successivamente per connettersi dall'interprete della riga di comando ODBC di C++ . La stringa include informazioni dettagliate quali il driver, il server e altri parametri di connessione al database.
Aggiungere l'indirizzo IP al firewall
- Passare al server logico del database SQL di Azure. Selezionare il collegamento Nome server nella pagina Panoramica del database SQL o cercare tramite il portale di Azure.
- In Sicurezza, selezionare Rete.
- Nella scheda Accesso pubblico selezionare Reti selezionate , se non è già stato fatto.
- Aggiungi l'indirizzo IP del client al firewall seguendo questi passaggi per assicurarti di poter stabilire una connessione riuscita. Selezionare Aggiungi l'indirizzo IPv4 client o aggiungere una regola del firewall.
A questo punto, hai configurato il tuo database SQL di Azure e sei pronto per connetterti dal tuo codice C++ dalla tua workstation.
Suggerimento
L'aggiunta dell'INDIRIZZO IP della workstation del client al firewall di rete pubblico è accettabile per un lab temporaneo o una configurazione di apprendimento, ma per una soluzione aziendale o un progetto di lunga durata, seguire queste procedure consigliate per la sicurezza:
- Impostare Consenti a servizi e risorse di Azure di accedere a questo server su OFF a livello di server.
- Usare gli endpoint servizio di rete virtuale e le regole del firewall della rete virtuale.
- Usare Collegamento privato.
Connettersi da un'applicazione C/C++ per Windows
È possibile connettersi facilmente al database SQL di Azure tramite ODBC su Windows seguendo questo esempio compilato con Visual Studio. Nell'esempio viene implementato un interprete della riga di comando ODBC, che può essere usato per connettersi al database SQL di Azure. In questo esempio viene accettato come argomento della riga di comando un file DSN (Database Source Name ) oppure la stringa di connessione dettagliata copiata in precedenza dal portale di Azure. Visualizzare la pagina delle proprietà per il progetto e incollare la stringa di connessione come argomento di comando, come illustrato di seguito:
Assicurarsi di specificare i dettagli di autenticazione corretti per il database come parte della stringa di connessione al database.
Avviare l'applicazione per compilarla. Se la connessione ha esito positivo, verrà visualizzata la finestra seguente. È anche possibile eseguire alcuni comandi SQL di base, ad CREATE TABLE esempio per convalidare la connettività del database:
In alternativa, è possibile creare un file DSN mediante la procedura guidata avviata quando non è specificato alcun argomento di comando. Si consiglia di provare anche questa opzione. È possibile usare questo file DSN per l'automazione e per proteggere le impostazioni di autenticazione:
Complimenti. È stata correttamente stabilita una connessione ad Azure SQL mediante C++ e ODBC in Windows. È possibile continuare la lettura per eseguire la stessa operazione sulla piattaforma Linux.
Connettersi da un'applicazione C/C++ per Linux
È possibile sviluppare applicazioni Linux C++ in Visual Studio. Per altre informazioni, vedere il blog seguente: Visual C++ per lo sviluppo di applicazioni Linux.
Per la compilazione per Linux è necessario un computer remoto in cui è in esecuzione la distribuzione Linux. Se non ne è disponibile uno, è possibile configurare rapidamente le macchine virtuali linux di Azure e un'ampia gamma di metodi di distribuzione.
Questa guida suppone di avere configurata una distribuzione di Linux Ubuntu 16.04. I passaggi si applicano anche a Ubuntu 15.10, Red Hat 6 e Red Hat 7.
I passaggi seguenti consentono di installare le librerie necessarie per ODBC ed SQL per la distribuzione:
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*
Avviare Visual Studio. In Strumenti ->Opzioni ->Multipiattaforma ->Gestore di Connessioni, aggiungi una connessione al tuo dispositivo Linux:
Dopo aver stabilito la connessione tramite SSH, creare un modello di progetto vuoto (Linux):
È quindi possibile aggiungere un nuovo file di origine C e sostituirlo con questo contenuto. Usando le SQLAllocHandleAPI ODBC , SQLSetConnectAttre SQLDriverConnect, dovrebbe essere possibile inizializzare e stabilire una connessione al database.
Analogamente all'esempio ODBC di Windows, è necessario sostituire la SQLDriverConnect chiamata con i dettagli dei parametri della stringa di connessione del database copiati in precedenza dal portale di 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);
L'ultima operazione da eseguire prima della compilazione consiste nell'aggiungere odbc come dipendenza della libreria:
Per avviare l'applicazione, visualizzare la console Linux nel menu Debug:
Se la connessione è stata stabilita correttamente, viene visualizzato il nome del database corrente stampato nella console Linux:
Complimenti. La guida è stata completata ed è ora possibile connettersi al database SQL di Azure da C++ su piattaforme Windows e Linux.
Ottenere la soluzione completa per l'esercitazione su C/C++
È possibile trovare la GetStarted soluzione che contiene tutti gli esempi in questo articolo in GitHub:
- Esempio di ODBC di C++ per Windows, scaricare l'esempio di ODBC di C++ per Windows per connettersi ad Azure SQL
- Esempio di ODBC di C++ per Linux, scaricare l'esempio di ODBC di C++ per Linux per connettersi ad Azure SQL