Bagikan melalui


Menyambungkan ke SQL Database menggunakan C dan C++

Berlaku untuk: Azure SQL Database

Artikel ini membantu pengembang C dan C++ tersambung ke Azure SQL Database.

Prasyarat

Untuk menyelesaikan langkah-langkah dalam panduan ini, Anda memerlukan hal berikut:

Teknologi akses data: ODBC dan OLE DB

Saat ini ada dua cara untuk menyambungkan ke Azure SQL Database: ODBC (Konektivitas Database Terbuka) dan OLE DB (Database Penautan Objek dan Penyematan). Dalam beberapa tahun terakhir, Microsoft telah selaras dengan ODBC terkait akses data relasional asli. ODBC jauh lebih cepat daripada OLE DB. Satu-satunya peringatan di sini adalah bahwa ODBC memang menggunakan API gaya C lama.

Membuat Azure SQL Database Anda

Lihat halaman memulai untuk mempelajari cara membuat sampel database. Sebagai alternatiff, Anda dapat mengikuti video singkat berdurasi dua menit ini untuk membuat Azure SQL Database menggunakan portal Microsoft Azure.

Dapatkan string koneksi

Setelah Azure SQL Database Anda telah tersedia, Anda perlu melakukan langkah-langkah berikut untuk menentukan informasi koneksi dan menambahkan IP klien Anda untuk akses firewall.

Di portal Azure, buka string koneksi ODBC Azure SQL Database Anda dengan menggunakan string koneksi Perlihatkan database yang tercantum sebagai bagian dari bagian Gambaran Umum untuk database Anda:

ODBCConnectionString

ODBCConnectionStringProps

Salin konten string koneksi ODBC (Termasuk Node.js) [autentikasi SQL]. Kita gunakan string koneksi ini nanti untuk tersambung dengan penerjemah baris perintah C++ ODBC kami. String ini menyediakan detail seperti driver, server, dan parameter koneksi database lainnya.

Menambahkan IP Anda ke firewall

Buka bagian firewall untuk server Anda dan tambahkan IP klien Anda ke firewall menggunakan langkah-langkah ini untuk memastikan kami dapat membuat koneksi yang berhasil:

AddyourIPWindow

Pada tahap ini, Anda telah mengonfigurasi Azure SQL Database Anda dan siap untuk tersambung dari kode C++Anda.

Menyambungkan dari aplikasi Windows C/C++

Anda dapat dengan mudah tersambung ke Azure SQL Database menggunakan ODBC di Windows menggunakan sampel ini yang dibangun dengan Visual Studio. Sampel ini mengimplementasikan penerjemah baris perintah ODBC yang dapat digunakan untuk tersambung ke Azure SQL Database kami. Sampel ini mengambil file Database Source Name (DSN) sebagai argumen baris perintah atau string koneksi verbose yang kami salin sebelumnya dari portal Microsoft Azure. Munculkan halaman properti untuk proyek ini dan tempelkan string koneksi sebagai argumen perintah seperti yang terlihat di sini:

Propsfile DSN

Pastikan Anda memberikan detail autentikasi yang tepat untuk database Anda sebagai bagian dari string koneksi database tersebut.

Luncurkan aplikasi untuk membuatnya. Anda akan melihat jendela berikut ini memvalidasi koneksi yang berhasil. Anda bahkan dapat menjalankan beberapa perintah SQL dasar seperti membuat tabel untuk memvalidasi konektivitas database Anda:

Perintah SQL

Sebagai alternatif, Anda dapat membuat file DSN menggunakan wizard yang diluncurkan ketika tidak ada argumen perintah yang tersedia. Kami sarankan Anda mencoba opsi ini juga. Anda bisa menggunakan file DSN ini untuk otomatisasi dan melindungi setelan autentikasi Anda:

Buat File DSN

Selamat! Anda sekarang telah berhasil tersambung ke Azure SQL menggunakan C++ dan ODBC di Windows. Anda dapat terus membaca untuk melakukan hal yang sama untuk platform Linux juga.

Menyambungkan dari aplikasi Linux C/C++

Anda dapat mengembangkan aplikasi C++ Linux di Visual Studio. Untuk mempelajari lebih lanjut, tinjau blog berikut: Visual C++ untuk Pengembangan Linux.

Untuk membangun Linux, Anda memerlukan mesin jarak jauh tempat distro Linux Anda dijalankan. Jika Anda tidak memilikinya, Anda dapat mengaturnya dengan cepat menggunakan komputer virtual Linux Azure.

Panduan ini mengasumsikan Anda telah menyiapkan distribusi Linux Ubuntu 16.04. Langkah-langkah ini juga berlaku untuk Ubuntu 15.10, Red Hat 6, dan Red Hat 7.

Langkah-langkah berikut memasang pustaka yang diperlukan untuk SQL dan ODBC untuk distro Anda:

    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*

Luncurkan Visual Studio. Di bawah Alat --> Opsi -> Lintas Platform -> Pengelola Sambungan, tambahkan koneksi ke kotak Linux Anda:

Opsi Alat

Setelah koneksi melalui SSH dibuat, buat templat Proyek kosong (Linux):

Templat proyek baru

Anda kemudian dapat menambahkan file sumber C baru dan menggantinya dengan konten ini. Menggunakan API ODBC SQLAllocHandle, SQLSetConnectAttr, dan SQLDriverConnect, Anda seharusnya dapat menginisialisasi dan membuat koneksi ke database Anda. Seperti sampel Windows ODBC, Anda perlu mengganti panggilan SQLDriverConnect dengan detail dari parameter string koneksi database Anda yang disalin dari portal Microsoft Azure sebelumnya.

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

Hal terakhir yang harus dilakukan sebelum mengompilasi adalah menambahkan odbc sebagai dependensi pustaka:

Menambahkan ODBC sebagai pustaka masukan

Untuk meluncurkan aplikasi, munculkan Linux Console dari menu Debug:

Linux Console

Jika koneksi Anda berhasil, sekarang Anda akan melihat nama database Anda saat ini yang dicetak di Linux Console:

Output Jendela Linux Console

Selamat! Anda telah berhasil menyelesaikan panduan dan sekarang dapat terhubung ke Azure SQL Database Anda dari C++ di platform Windows dan Linux.

Mendapatkan solusi tutorial C/C++ lengkap

Anda dapat menemukan solusi GetStarted (panduan) yang berisi semua sampel dalam artikel ini di GitHub: