Bagikan melalui


SQLPutData

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Pembatasan berikut berlaku saat menggunakan SQLPutData untuk mengirim lebih dari 65.535 byte data (untuk SQL Server versi 4.21a) atau 400 KB data (untuk SQL Server versi 6.0 dan yang lebih baru) untuk kolom SQL_LONGVARCHAR (teks), SQL_WLONGVARCHAR (ntext) atau SQL_LONGVARBINARY (gambar):

  • Parameter yang dirujuk dapat menjadi insert_value dalam pernyataan INSERT.

  • Parameter yang direferensikan dapat menjadi ekspresi dalam klausul SET dari pernyataan UPDATE.

Membatalkan urutan panggilan SQLPutData yang menyediakan data dalam blok ke server yang menjalankan SQL Server menyebabkan pembaruan parsial nilai kolom saat menggunakan versi 6.5 atau yang lebih lama. Kolom teks, ntext, atau gambar yang dirujuk saat SQLCancel dipanggil diatur ke nilai tempat penampung menengah.

Catatan

Driver ODBC Klien Asli SQL Server tidak mendukung koneksi ke SQL Server versi 6.5 dan yang lebih lama.

Diagnostik

Ada satu SQL Server Native Client khusus SQLSTATE untuk SQLPutData:

SQLSTATE Kesalahan Deskripsi
22026 Data string, ketidakcocokan panjang Jika panjang data dalam byte yang akan dikirim telah ditentukan oleh aplikasi, misalnya, dengan SQL_LEN_DATA_AT_EXEC(n) di mana n lebih besar dari 0, jumlah total byte yang diberikan oleh aplikasi melalui SQLPutData harus cocok dengan panjang yang ditentukan.

Parameter SQLPutData dan Table-Valued

SQLPutData digunakan oleh aplikasi saat menggunakan pengikatan baris variabel dengan parameter bernilai tabel. Parameter StrLen_Or_Ind menunjukkan bahwa driver siap mengumpulkan data untuk baris atau baris berikutnya dari data parameter bernilai tabel, atau bahwa tidak ada lagi baris yang tersedia:

  • Nilai yang lebih besar dari 0 menunjukkan bahwa kumpulan nilai baris berikutnya tersedia.

  • Nilai 0 menunjukkan bahwa tidak ada lagi baris yang akan dikirim.

  • Nilai apa pun yang kurang dari 0 adalah kesalahan dan menghasilkan catatan diagnostik yang dicatat dengan SQLState HY090 dan pesan "String tidak valid atau panjang buffer".

Parameter DataPtr diabaikan, tetapi harus diatur ke nilai non-NULL. Untuk informasi selengkapnya, lihat bagian tentang pengikatan baris TVP Variabel dalam Pengikatan dan Transfer Data Parameter Bernilai Tabel dan Nilai Kolom.

Jika StrLen_Or_Ind memiliki nilai selain SQL_DEFAULT_PARAM atau angka antara 0 dan SQL_PARAMSET_SIZE (yaitu, parameter ColumnSize SQLBindParameter), itu adalah kesalahan. Kesalahan ini menyebabkan SQLPutData mengembalikan SQL_ERROR: SQLSTATE=HY090, "String tidak valid atau panjang buffer".

Untuk informasi selengkapnya tentang parameter bernilai tabel, lihat Parameter Bernilai Tabel (ODBC).

Dukungan SQLPutData untuk Fitur Tanggal dan Waktu yang Ditingkatkan

Nilai parameter jenis tanggal/waktu dikonversi seperti yang dijelaskan dalam Konversi dari C ke SQL.

Untuk informasi selengkapnya, lihat Peningkatan Tanggal dan Waktu (ODBC).

Dukungan SQLPutData untuk UDT CLR Besar

SQLPutData mendukung jenis yang ditentukan pengguna (UDT) CLR besar. Untuk informasi selengkapnya, lihat Jenis Yang Ditentukan Pengguna (ODBC) CLR Besar.

Lihat Juga

Fungsi SQLPutData
Detail Implementasi ODBC API