Share via


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

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

Bu gönderi, Azure SQL Veritabanı'na bağlanmaya çalışan C ve C++ geliştiricilerine yöneliktir. İlginizi en iyi yakalayan bölüme atlayabilmeniz için bölümlere ayrılmıştır.

C/C++ öğreticisi için önkoşullar

Aşağıdaki öğelere sahip olduğunuzdan emin olun:

Sanal makinelerde Azure SQL Veritabanı ve SQL Server

Azure SQL Veritabanı, Microsoft SQL Server üzerinde oluşturulmuş ve yüksek kullanılabilirlik, performanslı ve ölçeklenebilir bir hizmet sağlamak için tasarlanmıştır. Azure SQL'i şirket içinde çalışan özel veritabanınız üzerinden kullanmanın birçok avantajı vardır. Azure SQL ile veritabanınızı yüklemeniz, ayarlamanız, bakımını yapmak veya yönetmek zorunda değilsiniz, ancak yalnızca veritabanınızın içeriği ve yapısı. Hataya dayanıklılık ve yedeklilik gibi veritabanlarında endişelendiğimiz tipik şeyler yerleşiktir.

Azure şu anda SQL server iş yüklerini barındırmak için iki seçeneğe sahiptir: Azure SQL Veritabanı, hizmet olarak veritabanı ve Sanal Makinelerde SQL Server (VM). Bulut hizmetlerinin sağladığı maliyet tasarruflarından ve performans iyileştirmelerinden yararlanmak için yeni bulut tabanlı uygulamalar için en iyi sonucun Azure SQL Veritabanı olması dışında, bu ikisi arasındaki farklar hakkında ayrıntılı bilgi edinmeyeceksiniz. Şirket içi uygulamalarınızı buluta geçirmeyi veya genişletmeyi düşünüyorsanız, Azure sanal makinesindeki SQL server sizin için daha iyi olabilir. Bu makaledeki işleri basit tutmak için bir Azure SQL Veritabanı oluşturalım.

Veri erişim teknolojileri: ODBC ve OLE DB

Azure SQL Veritabanı'na bağlanmak farklı değildir ve şu anda veritabanlarına 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 nispeten basittir ve OLE DB'den de çok daha hızlıdır. Buradaki tek uyarı ODBC'nin eski bir C stili API kullanmasıdır.

1. Adım: 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.

2. Adım: Bağlantı dizesini alma

Azure SQL Veritabanınız 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ı dizelerini göster seçeneğini kullanarak Azure SQL Veritabanı ODBC bağlantı dizenize 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.

3. Adım: 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ınızı yapılandırmış ve C++ kodunuzdan bağlanmaya hazırsınız.

4. Adım: Windows C/C++ uygulamasından bağlanma

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

DSN Propsfile

Veritabanı bağlantı dizesinin 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 Commands

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:

Create DSN File

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.

5. Adım: Linux C/C++ uygulamasından bağlanma

Henüz haberleri duymamış olmanız durumunda Visual Studio artık C++ Linux uygulaması geliştirmenize de olanak tanır. Linux için Visual C++ Geliştirme blogunda bu yeni senaryo hakkında bilgi edinebilirsiniz. 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 öğretici için Ubuntu 16.04 Linux dağıtım kurulumunuz olduğunu varsayalım. Buradaki adımlar Ubuntu 15.10, Red Hat 6 ve Red Hat 7 için de geçerli olmalıdır.

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:

Tools Options

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

New project template

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ı da daha önce Azure portalından kopyaladığınız veritabanı bağlantı dizesi parametrelerindeki ayrıntılarla 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:

Adding ODBC as an input library

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

Linux Console

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

Linux Console Window Output

Tebrikler! Öğreticiyi başarıyla tamamladınız ve artık Windows ve Linux platformlarında C++ üzerinden Azure SQL Veritabanınıza 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:

Sonraki adımlar

Ek kaynaklar