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. Alternatif olarak bu iki dakikalık videoyu izleyerek Azure portalını kullanarak bir Azure SQL Veritabanı oluşturabilirsiniz.

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.

Azure portalında, veritabanınızın Genel Bakış bölümünün bir parçası olarak listelenen Veritabanı bağlantı dizesi göster'i kullanarak Azure SQL Veritabanı ODBC bağlantı dizesi gidin:

ODBCConnectionString

ODBCConnectionStringProps

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

Sunucunuzun güvenlik duvarı bölümüne gidin ve başarılı bir bağlantı kurabildiğinizden emin olmak için şu adımları kullanarak istemci IP'nizi güvenlik duvarına ekleyin:

AddyourIPWindow

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

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 Propsfile

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 tablo oluşturma gibi bazı temel SQL komutlarını bile çalıştırabilirsiniz:

SQL Komutları

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:

DSN Dosyası Oluşturma

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 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 - Seçenekler ->> Platformlar Arası -> Bağlantı Yöneticisi altında Linux kutunuza bir bağlantı ekleyin:

Araçlar Seçenekleri

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

Yeni proje şablonu

Daha sonra yeni bir C kaynak dosyası ekleyebilir ve bu içerikle değiştirebilirsiniz. SQLAllocHandle, SQLSetConnectAttr ve SQLDriverConnect ODBC API'lerini kullanarak veritabanınızı başlatabilmeniz ve veritabanınızla bağlantı kurabilmeniz gerekir. Windows ODBC örneğinde olduğu gibi, SQLDriverConnect çağrısını veritabanınızdaki ayrıntılarla bağlantı dizesi daha önce Azure portalından kopyalanan parametrelerle değiştirmeniz gerekir.

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

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

Giriş kitaplığı olarak ODBC ekleme

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

Linux Konsolu

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ışı

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 tüm örnekleri içeren GetStarted çözümünü GitHub'da bulabilirsiniz: