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.

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.

  1. Di portal Microsoft Azure, buka string Koneksi Azure SQL Database Anda dengan menggunakan tampilkan string koneksi database yang tercantum sebagai bagian dari bagian Gambaran Umum untuk database Anda:

    Cuplikan layar dari portal Microsoft Azure dari halaman Gambaran Umum database SQL. Tautan tampilkan string koneksi database disorot.

  2. Pilih tab ODBC .

    Cuplikan layar String Koneksi ODBC dari portal Azure.

  3. 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

  1. Buka server logis Azure SQL Database Anda. Pilih tautan untuk Nama server pada halaman Gambaran Umum database SQL Anda atau navigasikan ke dalamnya melalui pencarian portal Microsoft Azure.
  2. Di bawah Keamanan, pilih Jaringan.
  3. Di bawah tab Akses publik , pilih Jaringan yang dipilih jika belum.
  4. Tambahkan IP klien Anda ke firewall menggunakan langkah-langkah ini untuk memastikan kami dapat membuat koneksi yang berhasil. Pilih Tambahkan alamat IPv4 klien Anda atau tambahkan aturan firewall.

Pada titik ini, Anda telah mengonfigurasi Azure SQL Database dan siap untuk menyambungkan dari kode C++ Anda dari stasiun kerja Anda.

Petunjuk / Saran

Menambahkan IP stasiun kerja klien Anda ke firewall jaringan publik dapat diterima untuk lab sementara atau penyiapan pembelajaran tetapi untuk solusi perusahaan atau proyek berumur panjang, ikuti praktik terbaik Keamanan ini:

  • Atur Izinkan layanan dan sumber daya Azure untuk mengakses server ini ke NONAKTIF di tingkat server.
  • Gunakan titik akhir Layanan VNet dan Aturan Firewall VNet.
  • Gunakan Private Link.

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 CREATE TABLE memvalidasi konektivitas database Anda:

Cuplikan layar koneksi C++ di odbcsql.exe.

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:

Cuplikan layar proses buat File DSN, halaman Pilih Sumber Data.

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 menyiapkannya dengan cepat menggunakan komputer Virtual Linux Azure dan berbagai metode penyebaran.

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 ->Cross Platform->Connection Manager, tambahkan koneksi ke kotak Linux Anda:

Cuplikan layar dari Opsi Alat untuk membuat dan menghapus koneksi SSH.

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

Cuplikan layar templat untuk proyek baru.

Anda kemudian dapat menambahkan file sumber C baru dan menggantinya dengan konten ini. Menggunakan API SQLAllocHandleODBC , , SQLSetConnectAttrdan SQLDriverConnect, Anda harus dapat menginisialisasi dan membuat koneksi ke database Anda.

Seperti sampel ODBC Windows, Anda perlu mengganti SQLDriverConnect panggilan 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="
                    "<password>;database=<yourdatabase>",
        SQL_NTS, outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT);

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

Cuplikan layar menambahkan ODBC sebagai pustaka input.

Untuk meluncurkan aplikasi, munculkan Linux Console dari menu Debug:

Cuplikan layar opsi menu Konsol Linux.

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

Cuplikan layar Konsol Linux.

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 GetStarted solusi yang berisi semua sampel dalam artikel ini di GitHub: