SQLBindCol

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform System (PDW)

Genel bir kural olarak, SQLBindCol kullanılarak veri dönüşümüne neden olmanın sonuçlarını düşünün. Bağlama dönüşümleri istemci süreçleridir; örneğin, bir karakter sütununa bağlı bir kayan nokta değeri alındığında, bir satır alındığında sürücü float-to-character dönüşümünü yerel olarak gerçekleştirir. Transact-SQL CONVERT fonksiyonu, veri dönüşüm maliyetini sunucuya yerleştirmek için kullanılabilir.

Bir SQL Server örneği, tek bir ifade yürütmesinde birden fazla sonuç satır seti döndürebilir. Her sonuç kümesi ayrı ayrı bağlanmalıdır. Birden fazla sonuç kümesi için bağlama hakkında daha fazla bilgi için SQLMoreResults'a bakınız.

Geliştirici, TargetType değeri SQL_C_BINARY kullanarak sütunları SQL Server-spesifik C veri tiplerine bağlayabilir. SQL Server'a özgü türlere bağlı sütunlar taşınabilir değildir. Tanımlanmış SQL Server-spesifik ODBC C veri tipleri, DB-Library için tür tanımlarıyla eşleşir ve uygulamaları portlayan DB-Library geliştiriciler bu özelliğin avantajını almak isteyebilir.

Veri kesintisini raporlamak, SQL Server Native Client ODBC sürücüsü için pahalı bir süreçtir. Tüm sınırlı veri tamponlarının veri döndürecek kadar geniş olduğundan emin olarak kesintiden kaçınabilirsiniz. Karakter verisi için, genişlik, dizi sonlandırması için varsayılan sürücü davranışı kullanıldığında bir dizi sonlandırıcı için alan içermelidir. Örneğin, bir SQL Server char(5) sütununu beş karakterlik bir diziye bağlamak, alınan her değer için kısaltma ile sonuçlanır. Aynı sütunu altı karakterlik bir diziye bağlamak, null terminator'u depolamak için bir karakter öğesi sağlayarak kesintiyi önler. SQLGetData , uzun karakter ve ikili verileri kesinti olmadan verimli bir şekilde almak için kullanılabilir.

Büyük değerli veri türleri için, kullanıcının sağladığı tampon sütunun tüm değerini tutacak kadar büyük değilse, SQL_SUCCESS_WITH_INFO döner ve "dizi verisi; "sağ kesik" uyarısı verildi. StrLen_or_IndPtr argümanı, tamponda depolanan karakter/bayt sayısını içerir.

Geliştirilmiş Tarih ve Saat Özellikleri için SQLBindCol Desteği

Tarih/saat türlerinin sonuç sütunu değerleri, SQL'den C'ye dönüşümler bölümünde tanımlandığı şekilde dönüştürülür. Zaman ve tarih zaman ofseti sütunlarını karşılık gelen yapılar (SQL_SS_TIME2_STRUCT ve SQL_SS_TIMESTAMPOFFSET_STRUCT) olarak almak için HedefTip'inSQL_C_DEFAULT veya SQL_C_BINARY olarak belirtilmesi gerektiğini unutmayın.

Daha fazla bilgi için bkz. Tarih ve Saat Geliştirmeleri (ODBC).

Büyük CLR UDT'ler için SQLBindCol Desteği

SQLBindCol , büyük CLR kullanıcı tanımlı türleri (UDT) destekler. Daha fazla bilgi için bkz. Büyük CLR User-Defined Türleri (ODBC).