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:
- Etkin bir Azure hesabı. Bir aboneliğiniz yoksa Ücretsiz Azure Deneme Sürümü için kaydolabilirsiniz.
- Visual Studio. Bu örneği derlemek ve çalıştırmak için C++ dil bileşenlerini yüklemeniz gerekir.
- Visual Studio Linux Geliştirme. Linux üzerinde geliştirme yapıyorsanız, Visual Studio Linux uzantısını da yüklemeniz gerekir.
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:
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:
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:
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:
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:
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:
SSH üzerinden bağlantı kurulduktan sonra Boş proje (Linux) şablonu oluşturun:
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:
Uygulamanızı başlatmak için, Hata Ayıklama menüsünden Linux Konsolunu açın:
Bağlantınız başarılı olursa linux konsolunda geçerli veritabanı adının yazdırıldığını görmeniz gerekir:
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:
- ODBC C++ Windows örneği, Azure SQL'e bağlanmak için Windows C++ ODBC Örneğini indirin
- ODBC C++ Linux örneği, Azure SQL'e bağlanmak için Linux C++ ODBC Örneğini indirin
Sonraki adımlar
- SQL Veritabanı Geliştirmeye Genel Bakış'a göz atın
- ODBC API Başvurusu hakkında daha fazla bilgi
Ek kaynaklar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin