SQLBindParameter

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

SQLBindParameters, SQL Server Native Client ODBC sürücüsü için veri sağlamak için kullanıldığında veri dönüşüm yükünü ortadan kaldırabilir ve bu da uygulamaların hem istemci hem de sunucu bileşenleri için önemli performans artışları sağlar. Diğer faydalar arasında, yaklaşık sayısal veri türleri eklenirken veya güncellenirken hassasiyetin azalması yer alır.

Note

Bir görüntü sütununa char ve wchar tipi veri eklendiğinde, aktarılan verinin boyutu kullanılır; ikili formata dönüştürülden sonra verinin boyutu değil.

SQL Server Native Client ODBC sürücüsü, bir dizi parametrenin tek bir dizi öğesinde hata ile karşılaşırsa, sürücü kalan dizi öğeleri için ifadeyi çalıştırmaya devam eder. Uygulama, ifadesi için bir parametre durum elemanı dizisi sınırlıydıysa, hata üreten parametre satırları diziden belirlenebilir.

SQL Server Native Client ODBC sürücüsünü kullanırken, giriş parametrelerini bağlarken SQL_PARAM_INPUT belirtin. OUTPUT anahtar kelimesiyle tanımlanan depolanmış prosedür parametrelerini bağlamak için yalnızca SQL_PARAM_OUTPUT veya SQL_PARAM_INPUT_OUTPUT belirtin.

SQLRowCount, sınırlı parametre dizisindeki bir dizi öğesi ifade yürütmesinde hata yaratırsa, SQL Server Native Client ODBC sürücüsüyle güvenilir değildir. ODBC ifadesi özniteliği SQL_ATTR_PARAMS_PROCESSED_PTR hata gerçekleşmeden önce işlenen satır sayısını bildirir. Uygulama, gerekirse parametre durum dizisini kullanarak başarıyla çalıştırılan ifade sayısını keşfedebilir.

SQL Karakter Türleri için Bağlama Parametreleri

Eğer gönderilen SQL veri tipi bir karakter tipi ise, ColumnSize karakter cinsinden (bayt değil) boyuttur. Eğer veri dizisinin bayt cinsinden uzunluğu 8000'den büyükse, ColumnSizeSQL_SS_LENGTH_UNLIMITED olarak ayarlanmalıdır; bu da SQL türünün boyutunda bir sınır olmadığını gösterir.

Örneğin, SQL veri tipi SQL_WVARCHAR ise, ColumnSize 4000'den büyük olmamalıdır. Gerçek veri uzunluğu 4000'den büyükse, ColumnSizeSQL_SS_LENGTH_UNLIMITED olarak ayarlanmalıdır ki sürücü nvarchar(max) kullanılsın.

SQLBindParameter ve Table-Valued Parametreleri

Diğer parametre türleri gibi, tablo değerli parametreler SQLBindParameter ile sınırlıdır.

Tablo değerli bir parametre sınırlandırıldıktan sonra, onun sütunları da sınırlıdır. Sütunları bağlamak için SQLSetStmtAttr çağırarak SQL_SOPT_SS_PARAM_FOCUS tablo değerli parametrenin ordinaline ayarlanır. Sonra, tablo değerli parametredeki her sütun için SQLBindParameter çağırın. Üst düzey parametre bağlamalarına geri dönmek için SQL_SOPT_SS_PARAM_FOCUS'i 0 olarak ayarlayın.

Tablo değerli parametreler için parametrelerin tanımlayıcı alanlarına eşlenmesi hakkında bilgi için Bağlama ve Veri Transferi Table-Valued Parametre ve Sütun Değerleri bölümüne bakınız.

Tablo değerli parametreler hakkında daha fazla bilgi için bkz. Table-Valued Parametreler (ODBC).

Gelişmiş Tarih ve Saat Özellikleri için SQLBindParameter Desteği

Tarih/saat türlerinin parametre değerleri, C'den SQLDönüştürmeleri'nde açıklandığı gibi dönüştürülür. Time vedatetimeoffset parametrelerinin parametrelerinin karşılık gelen yapıları (SQL_SS_TIME2_STRUCT ve SQL_SS_TIMESTAMPOFFSET_STRUCT) kullanılıyorsa ValueType'ınSQL_C_DEFAULT veya SQL_C_BINARY olarak belirtilmesi gerektiğine dikkat edin.

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

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

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