PERBAIKI: Pesan kesalahan saat Anda menjalankan aplikasi berbasis SQL Server 2008 yang memanggil fungsi SQLBindParameter: "Aliran protokol panggilan prosedur jarak jauh (RPC) aliran data tabular (TDS) yang masuk salah"

Microsoft mendistribusikan perbaikan Microsoft SQL Server 2008 sebagai satu file yang dapat diunduh. Karena perbaikan bersifat kumulatif, setiap rilis baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya.

Gejala

Dalam aplikasi, Anda menggunakan driver Klien Asli SQL Server 2008. Anda memanggil fungsi SQLBindParameter untuk mengikat parameter tipe data karakter lebar untuk kueri. Misalnya, Anda mengikat parameter tipe data NCHAR atau tipe data NVARCAR. Aplikasi meneruskan nilai yang lebih besar dari 4.000 ke parameter ColumnSize fungsi SQLBindParameter. Saat menjalankan kueri dalam aplikasi, Anda akan menerima pesan kesalahan berikut:

Catatan

Aliran protokol panggilan prosedur jarak jauh (RPC) aliran data tabular (TDS) masuk salah. Parameter 1 (""): Tipe data 0xE7 memiliki panjang data atau panjang metadata yang tidak valid.

Catatan: Pesan kesalahan ini adalah pesan kesalahan sisi server. Jika aplikasi menggunakan driver Native Client SQL Server 2005, Anda akan menerima pesan kesalahan sisi klien berikut seperti yang diharapkan:

Catatan

[Microsoft][SQL Native Client]Nilai presisi yang tidak valid

Penyebab

Masalah ini terjadi karena driver Klien Asli SQL Server 2008 tidak melakukan pemeriksaan runtime ukuran kolom input untuk fungsi SQLBindParameter. Selain itu, driver menggandakan ukuran kolom jika ukuran kolom input lebih besar dari 4.000 dan parameternya adalah tipe data karakter lebar. Oleh karena itu, SQL Server mengembalikan kesalahan sisi server bahwa parameter melebihi batas atas (8.000).

Catatan: Driver Klien Asli SQL Server 2005 melakukan pemeriksaan runtime untuk ukuran kolom input. Oleh karena itu, jika ukuran kolom input lebih besar dari 8.000, driver Klien Asli SQL Server 2005 mengembalikan kesalahan sisi klien.

Resolusi

Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 3 untuk SQL Server 2008 Paket Layanan 1. Untuk informasi selengkapnya tentang paket pembaruan kumulatif ini, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

971491 Paket pembaruan kumulatif 3 untuk SQL Server 2008 Paket Layanan 1Note Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Microsoft menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

970365 Build SQL Server 2008 yang dirilis setelah SQL Server 2008 Paket Layanan 1 dirilis
Hotfix Microsoft SQL Server 2008 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan hotfix SQL Server 2008 Paket Layanan 1 ke penginstalan SQL Server 2008 Paket Layanan 1. Secara default, hotfix apa pun yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Referensi

Untuk informasi selengkapnya tentang Model Pelayanan Tambahan untuk SQL Server, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

935897 Model Pelayanan Tambahan tersedia dari tim SQL Server untuk memberikan perbaikan atas masalah yang dilaporkan

Untuk informasi selengkapnya tentang skema penamaan untuk pembaruan SQL Server, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

822499 Skema penamaan baru untuk paket pembaruan perangkat lunak Microsoft SQL Server

Untuk informasi selengkapnya tentang terminologi pembaruan perangkat lunak, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

824684 Deskripsi terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft