Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform System (PDW)
Important
SQL Server Native Client (SNAC) ile birlikte gönderilmez:
- SQL Server 2022 (16.x) ve sonraki sürümleri
- SQL Server Management Studio 19 ve sonraki sürümleri
YENI uygulama geliştirme için SQL Server Yerel İstemcisi (SQLNCLI veya SQLNCLI11) ve SQL Server için eski Microsoft OLE DB Sağlayıcısı (SQLOLEDB) önerilmez.
Yeni projeler için aşağıdaki sürücülerden birini kullanın:
SQL Server Veritabanı Altyapısı'nın (sürüm 2012 ile 2019 arasında) bir bileşeni olarak gelen SQLNCLI için, Destek Yaşam Döngüsü özel durumukonusuna bakın.
Bazı ODBC fonksiyonları hem eş zamanlı hem de asenkron çalışabilir. Uygulama, bir ifade kolu veya bağlantı tutamacı için asenkron işlemleri etkinleştirebilir. Eğer bu seçenek bağlantı kolu için ayarlanmışsa, bağlantı kolundaki tüm ifade tutamaçlarını etkiler. Uygulama, asenkron işlemleri etkinleştirmek veya devre dışı bırakmak için aşağıdaki ifadeleri kullanır:
SQLSetConnectAttr(hdbc, SQL_ATTR_ASYNC_ENABLE,
SQL_ASYNC_ENABLE_ON, SQL_IS_INTEGER);
SQLSetConnectAttr(hdbc, SQL_ATTR_ASYNC_ENABLE,
SQL_ASYNC_ENABLE_OFF, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_ASYNC_ENABLE,
SQL_ASYNC_ENABLE_ON, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_ASYNC_ENABLE,
SQL_ASYNC_ENABLE_OFF, SQL_IS_INTEGER);
Bir uygulama senkron modda bir ODBC fonksiyonunu çağırdığında, sürücü komutu uygulamaya geri döndürmez, ta ki sunucunun komutu tamamladığı bildirilene kadar.
Asenkron çalışırken, sürücü komutu sunucuya göndermeden önce bile kontrolü hemen uygulamaya geri döndürür. Sürücü dönüş kodunu SQL_STILL_EXECUTING olarak ayarlıyor. Uygulama daha sonra başka işler yapabilir.
Uygulama komutun tamamlanmasını test ettiğinde, aynı fonksiyon çağrısını aynı parametrelerle sürücüye yapar. Sürücü henüz sunucudan cevap alamamışsa, tekrar SQL_STILL_EXECUTING geri dönecek. Uygulama, komutu periyodik olarak test etmelidir, ta ki dönüş kodu SQL_STILL_EXECUTING dışında bir şey olana kadar. Uygulama başka bir dönüş kodu aldığında, hatta SQL_ERROR bile, komutun tamamlandığını belirleyebilir.
Bazen bir komut uzun süre öne çıkar. Uygulama, yanıt beklemeden komutu iptal etmek zorunda kalırsa, bunu aynı ifade adresiyle SQLCancel'i çağırarak yapabilir. SQLCancel'in kullanılması gereken tek zaman budur. Bazı programcılar, bir sonuç setinin ortasında işlem yaptıklarında ve geri kalan sonuç setini iptal etmek istediklerinde SQLCancel kullanırlar. SQLMoreResults veya SQLCloseCursor , beklenmedik bir sonuç setinin kalanını iptal etmek için kullanılmalıdır, SQLCancel değil.