SQLPutData
Kullanırken aşağıdaki sınırlamalar SQLPutDatadaha çok 65.535 bayt veri göndermek için (için SQL Serversürüm 4.21a) ya da 400 kb veri (SQL Server sürüm 6.0 ve üstü) için bir sql_longvarchar (text), sql_wlongvarchar (ntext) veya SQL_LONGVARBINARY (image) sütun:
Başvurulan parametresi olabilir insert_valueINSERT deyimi.
Başvurulan parametresi olabilir bir expressionbir update deyimi set yan tümcesinde.
Bir dizi iptal SQLPutDataçağrıları veri blokları çalıştıran bir sunucuya sağlayan SQL Server6.5 veya önceki bir sürümü kullanarak sütunun değeri bir kısmi güncelleştirme neden. text, ntext, Veya imageolarak sütun zaman başvuruda SQLCanceldenilen bir ara tutucu değerine ayarlanır.
[!NOT]
SQL ServerYerel istemci odbc sürücüsü bağlanmayı desteklemiyor SQL Server6.5 ve önceki sürümü.
Tanılama
Bir SQL Serveryerel istemci belirli sqlstate içinSQLPutData:
SQLSTATE |
Hata |
Açıklama |
---|---|---|
22026 |
Dize verileri, uzunluk uyumsuzluğu |
Gönderilen bayt cinsinden veri uzunluğu bir uygulama tarafından örneğin, sql_len_data_at_exec ile belirtilmişse (n) nerede n0, uygulama tarafından verilen bayt sayısı büyüktür SQLPutDataBelirtilen uzunluk eşleşmesi gerekir. |
SQLPutData ve tablo Valued Parametreler
SQLPutDatabir uygulama tarafından tablo değerli parametrelerle değişken satır bağlama kullanıldığında kullanılır. StrLen_Or_IndParametresi gösterir sonraki satır veya satırları tablo değerli parametre veri veri toplamak sürücünün hazır olduğunu ya da daha fazla satır kullanılabilir:
0'dan büyük bir değer sonraki satır değerleri kümesini kullanılabilir olduğunu gösterir.
0 Değeri, gönderilmek üzere daha fazla satır olduğunu gösterir.
0'den küçük olan herhangi bir değer bir hatadır ve tanılama kaydı SQLState HY090 ve edilemiyor "Geçersiz dize veya arabellek uzunluğu" ile günlüğe kaydedilmesini sonuçlanır.
DataPtrParametresi yok sayılır, ancak bir boş olmayan değere ayarlanmalıdır. Daha fazla bilgi için değişken tvp satır bağlamasında bölümüne bakın Bağlama ve veri tablosu Valued parametreler ve sütun değerleri Aktarım.
Eğer StrLen_Or_Indayarlamak veya bir sayı 0 ile SQL_PARAMSET_SIZE arasında herhangi bir değere sahip (yani ColumnSizeparametresi SQLBindParameter), bu bir hatadır. SQLPutData sql_error dönmek bu hata neden: sqlstate HY090, = "Geçersiz dize veya arabellek uzunluğu".
Tablo değerli parametreleri hakkında daha fazla bilgi için bkz: Tablo Valued Parametreler (odbc).
Gelişmiş tarih ve saat özellikleri için SQLPutData desteği
Tarih ve saat türleri parametre değerlerini açıklandığı şekilde dönüştürülür Dönüştürmeleri c sql.
Daha fazla bilgi için, bkz. Tarih/Saat (odbc) geliştirmeleri.
Büyük clr UDTs SQLPutData destek
SQLPutData büyük clr kullanıcı tanımlı türler (UDTs) destekler. Daha fazla bilgi için, bkz. Büyük clr kullanıcı tanımlı türler (odbc).