Gejala
Jika Anda menjalankan prosedur tersimpan jarak jauh dengan parameter output pada server tertaut melalui driver ODBC untuk SQL Server, driver ODBC tidak dapat mengambil parameter output dan Anda mungkin menerima pesan kesalahan berikut:
[Microsoft] [ODBC SQL Server Driver]Pelanggaran atribut tipe data terbatas
Pemecahan Masalah
Hotfix yang didukung tersedia dari Microsoft. Namun, hotfix ini dimaksudkan untuk memperbaiki masalah yang dijelaskan dalam artikel ini saja. Terapkan hotfix ini hanya pada sistem yang mengalami masalah khusus ini. Hotfix ini mungkin menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terpengaruh oleh masalah ini, kami menyarankan agar Anda menunggu pembaruan perangkat lunak berikutnya yang berisi hotfix ini.
Jika hotfix tersedia untuk diunduh, terdapat bagian "Unduhan hotfix tersedia" di bagian atas artikel Basis Pengetahuan ini. Jika bagian ini tidak muncul, hubungi Layanan Pelanggan dan Dukungan Microsoft untuk mendapatkan hotfix.
Catatan Jika masalah tambahan terjadi atau jika ada pemecahan masalah yang diperlukan, Anda mungkin harus membuat permintaan layanan terpisah. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah dukungan tambahan yang tidak memenuhi syarat untuk hotfix tertentu ini. Untuk daftar lengkap nomor telepon Layanan Pelanggan dan Dukungan Microsoft atau untuk membuat permintaan layanan terpisah, kunjungi situs Web Microsoft berikut ini:
http://support.microsoft.com/contactus/?ws=supportCatatan Formulir "Unduhan hotfix tersedia" menampilkan bahasa di mana hotfix tersedia. Jika Anda tidak melihat bahasa Anda, itu karena hotfix tidak tersedia untuk bahasa tersebut.
' Versi bahasa Inggris hotfix ini memiliki atribut file (atau yang lebih baru) yang tercantum dalam tabel berikut ini. Tanggal dan waktu untuk berkas-berkas ini adalah waktu UTC atau GMT. Saat melihat informasi berkas, waktu akan diubah ke waktu lokal. Untuk menemukan perbedaan waktu UTC dan waktu lokal, gunakan tab Zona Waktu di alat Tanggal dan Waktu di Panel Kontrol.
MDAC 2.7 Paket Layanan 1
Date Time Version Size File name
----------------------------------------------------------
12-Nov-2002 02:42 2000.81.9031.12 24,576 Odbcbcp.dll
12-Nov-2002 02:41 2000.81.9031.12 385,024 Sqlsrv32.dll
MDAC 2.8
Date Time Version Size File name
---------------------------------------------------------
15-Jun-2004 00:22 2000.85.1045.0 28,672 Dbnmpntw.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msadds.dll
15-Jun-2004 00:21 2.80.1045.0 512,000 Msado15.dll
15-Jun-2004 00:21 2.80.1045.0 163,840 Msadomd.dll
15-Jun-2004 00:21 2.80.1045.0 184,320 Msadox.dll
15-Jun-2004 00:21 2.80.1045.0 53,248 Msadrh15.dll
15-Jun-2004 00:21 2.80.1045.0 225,280 Msdaora.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msdart.dll
15-Jun-2004 00:21 2.575.1045.0 139,264 Msorcl32.dll
15-Jun-2004 00:21 3.525.1045.0 221,184 Odbc32.dll
15-Jun-2004 00:22 2000.85.1045.0 24,576 Odbcbcp.dll
15-Jun-2004 00:21 2.80.1045.0 442,368 Oledb32.dll
15-Jun-2004 00:21 2000.85.1045.0 503,808 Sqloledb.dll
15-Jun-2004 00:21 2000.85.1045.0 401,408 Sqlsrv32.dll
15-Jun-2004 00:08 2000.85.1045.0 208,896 Sqlxmlx.dll
Catatan Untuk daftar semua hotfix yang tersedia untuk MDAC 2.8, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:
839801 FIX: Hotfix tersedia untuk MDAC 2.8
Status
Microsoft telah melakukan konfirmasi bahwa masalah ini timbul pada produk Microsoft yang tertera pada bagian "Berlaku untuk".
Informasi Selengkapnya
Langkah-langkah untuk mereprodusi perilaku
-
Gunakan kode berikut untuk membuat prosedur SQL Server disimpan dengan parameter output di server tertaut:
USE pubs GO CREATE PROCEDURE dbo.sample_stored_procedure @op varchar(20) output AS set @op = 'demo string' return 0 GO
Catatan Anda tidak menerima pesan kesalahan yang tercantum di bagian "Gejala" jika prosedur yang disimpan mengembalikan rangkaian hasil.
-
Kode sampel aplikasi Microsoft Visual Basic berikut ini mengakses prosedur tersimpan jarak jauh di server yang ditautkan. Dalam sampel kode berikut, srv1 dan
srv2 adalah dua server yang menjalankan SQL Server, dan Anda membuat srv2 sebagai server tertaut di srv1.Dim cn As new ADODB.Connection Dim cmd As new ADODB.Command Dim prm As ADODB.Parameter cn.Open "Driver={SQL Server};Server=srv1;UID=sa;PWD=sa_password;" cmd.ActiveConnection = cn cmd.CommandType = adCmdStoredProc cmd.CommandText = "srv2.pubs.dbo.sample_stored_procedure" Set prm = cmd.CreateParameter("op", adVarChar, adParamOutput, 20) cmd.Parameters.Append prm cmd.Execute Debug.Print prm.Value cn.Close Set cn = Nothing