Aracılığıyla paylaş


C ve C++ kullanarak SQL Veritabanı bağlanma

Şunlar için geçerlidir:Azure SQL Veritabanı

Bu makale, C ve C++ geliştiricilerinin Azure SQL Veritabanı bağlanmasına yardımcı olur.

Önkoşullar

Bu kılavuzdaki adımları tamamlamak için aşağıdakilere ihtiyacınız vardır:

Veri erişim teknolojileri: ODBC ve OLE DB

Şu anda Azure SQL Veritabanı bağlanmanın iki yolu vardır: ODBC (Açık Veritabanı Bağlantısı) ve OLE DB (Nesne Bağlama ve Ekleme veritabanı). Son yıllarda Microsoft, yerel ilişkisel veri erişimi için ODBC ile uyumlu hale gelmiştir. ODBC, OLE DB'den çok daha hızlıdır. Buradaki tek uyarı ODBC'nin eski bir C stili API kullanmasıdır.

Azure SQL Veritabanınızı oluşturma

Örnek veritabanı oluşturmayı öğrenmek için başlarken sayfasına bakın.

bağlantı dizesi alma

Azure SQL Veritabanı sağlandıktan sonra, bağlantı bilgilerini belirlemek ve güvenlik duvarı erişimi için istemci IP'nizi eklemek için aşağıdaki adımları uygulamanız gerekir.

  1. Azure portalında, veritabanınızın Genel Bakış bölümünün bir parçası olarak listelenen Veritabanı bağlantı dizelerini göster seçeneğini kullanarak Azure SQL Veritabanı Bağlantı dizelerinize gidin:

    SQL veritabanı Genel Bakış sayfasının Azure portalındaki ekran görüntüsü. Veritabanı bağlantı dizelerini göster bağlantısı vurgulanır.

  2. ODBC sekmesini seçin.

    ODBC Bağlantı Dizesinin Azure portalındaki ekran görüntüsü.

  3. ODBC (Node.js içerir) [SQL kimlik doğrulaması] dizesinin içeriğini kopyalayın. Bu dizeyi daha sonra C++ ODBC komut satırı yorumlayıcımızdan bağlanmak için kullanırız. Bu dize sürücü, sunucu ve diğer veritabanı bağlantı parametreleri gibi ayrıntıları sağlar.

IP'nizi güvenlik duvarına ekleme

  1. Azure SQL Veritabanı mantıksal sunucunuza gidin. SQL veritabanınızın Genel Bakış sayfasında Sunucu adı bağlantısını seçin veya Azure portal araması aracılığıyla sunucuya gidin.
  2. Güvenlik'in altında Ağ'ı seçin.
  3. Genel erişim sekmesinin altında Seçili ağlar 'ı (henüz yapmadıysanız) seçin.
  4. Başarılı bir bağlantı kurabildiğinizden emin olmak için bu adımları kullanarak istemci IP'nizi güvenlik duvarına ekleyin. İstemci IPv4 adresinizi ekleyin veya güvenlik duvarı kuralı ekleyin'i seçin.

Bu noktada, Azure SQL Veritabanınızı yapılandırmış ve iş istasyonunuzdan C++ kodunuzdan bağlanmaya hazırsınız.

İpucu

İstemcinizin iş istasyonu IP'sini genel ağ güvenlik duvarına eklemek geçici bir laboratuvar veya öğrenme kurulumu için kabul edilebilir, ancak kurumsal bir çözüm veya uzun ömürlü bir proje için şu En iyi Güvenlik uygulamalarını izleyin:

  • Azure hizmetlerinin ve kaynaklarının bu sunucuya erişmesine izin ver'i sunucu düzeyinde KAPALI olarak ayarlayın.
  • Sanal Ağ Hizmeti uç noktalarını ve Sanal Ağ Güvenlik Duvarı Kurallarını kullanın.
  • Özel Bağlantı kullanın.

Windows C/C++ uygulamasından bağlanma

Visual Studio ile derleyen bu örneği kullanarak Windows'ta ODBC kullanarak Azure SQL Veritabanı kolayca bağlanabilirsiniz. Örnek, Azure SQL Veritabanı bağlanmak için kullanılabilecek bir ODBC komut satırı yorumlayıcısı uygular. Bu örnek, komut satırı bağımsız değişkeni olarak bir Veritabanı kaynak adı dosyası (DSN) dosyası veya daha önce Azure portalından kopyaladığımız ayrıntılı bağlantı dizesi alır. Bu projenin özellik sayfasını açın ve burada gösterildiği gibi bağlantı dizesi komut bağımsız değişkeni olarak yapıştırın:

DSN Özellik Dosyası.

Bu veritabanı bağlantı dizesi bir parçası olarak veritabanınız için doğru kimlik doğrulama ayrıntılarını sağladığınızdan emin olun.

Derlemek için uygulamayı başlatın. Başarılı bir bağlantıyı doğrulayarak aşağıdaki pencereyi görmeniz gerekir. Veritabanı bağlantınızı doğrulamak için gibi CREATE TABLE bazı temel SQL komutlarını bile çalıştırabilirsiniz:

odbcsql.exeC++ bağlantılarının ekran görüntüsü.

Alternatif olarak, komut bağımsız değişkenleri sağlanmamışsa başlatılan sihirbazı kullanarak bir DSN dosyası oluşturabilirsiniz. Bu seçeneği de denemenizi öneririz. Otomasyon ve kimlik doğrulama ayarlarınızı korumak için bu DSN dosyasını kullanabilirsiniz:

Veri Kaynağı Seç sayfası olan DSN Dosyası oluşturma işleminin ekran görüntüsü.

Tebrikler! Artık Windows üzerinde C++ ve ODBC kullanarak Azure SQL'e başarıyla bağlandınız. Linux platformu için de aynı işlemi yapmak için okumaya devam edebilirsiniz.

Linux C/C++ uygulamasından bağlanma

Visual Studio'da C++ Linux uygulamaları geliştirebilirsiniz. Daha fazla bilgi edinmek için şu blogu gözden geçirin: Linux Geliştirme için Visual C++ .

Linux için derleme yapmak için Linux dağıtımınızın çalıştığı uzak bir makineye ihtiyacınız vardır. Kullanılabilir bir makineniz yoksa , Linux Azure Sanal makinelerini ve çeşitli dağıtım yöntemlerini kullanarak hızlı bir şekilde ayarlayabilirsiniz.

Bu kılavuzda bir Ubuntu 16.04 Linux dağıtım kurulumunuz olduğu varsayılır. Adımlar Ubuntu 15.10, Red Hat 6 ve Red Hat 7 için de geçerlidir.

Aşağıdaki adımlar dağıtımınız için SQL ve ODBC için gereken kitaplıkları yükler:

    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*

Visual Studio’yu başlatın. Araçlar -> ->Platformlar Arası>Bağlantı Yöneticisi'nin altında Linux kutunuza bir bağlantı ekleyin:

SSH bağlantıları oluşturmak ve kaldırmak için Araçlar Seçenekleri'nin ekran görüntüsü.

SSH üzerinden bağlantı kurulduktan sonra Boş proje (Linux) şablonu oluşturun:

Yeni projeler için şablonların ekran görüntüsü.

Daha sonra yeni bir C kaynak dosyası ekleyebilir ve bu içerikle değiştirebilirsiniz. , SQLAllocHandleve SQLSetConnectAttrODBC API'lerini SQLDriverConnectkullanarak veritabanınıza bir bağlantı başlatıp kurabilmelisiniz.

Windows ODBC örneğinde olduğu gibi, çağrıyı SQLDriverConnect daha önce Azure portalından kopyalanan veritabanı bağlantı dizesi parametrelerinizdeki ayrıntılarla değiştirmeniz gerekir.

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

Derlemeden önce yapılacak son şey odbc'yi kitaplık bağımlılığı olarak eklemektir:

ODBC'yi giriş kitaplığı olarak ekleme ekran görüntüsü.

Uygulamanızı başlatmak için, Hata Ayıklama menüsünden Linux Konsolunu açın:

Linux Konsolu menü seçeneğinin ekran görüntüsü.

Bağlantınız başarılı olursa linux konsolunda geçerli veritabanı adının yazdırıldığını görmeniz gerekir:

Linux Konsol Penceresi Çıkışı'nın ekran görüntüsü.

Tebrikler! Kılavuzu başarıyla tamamladınız ve artık Windows ve Linux platformlarında C++ üzerinden Azure SQL Veritabanı bağlanabilirsiniz.

C/C++ öğretici çözümünün tamamını edinin

Bu makaledeki GetStarted tüm örnekleri içeren çözümü GitHub'da bulabilirsiniz: