Simptomi
Ako pokrenete udaljenu spremljenu proceduru s izlaznim parametrima na povezanom poslužitelju putem ODBC upravljačkog programa za SQL Server, ODBC upravljački program ne može dohvatiti izlazni parametar i možda ćete primiti sljedeću poruku o pogrešci:
[Microsoft] [ODBC SQL Server upravljački program]Kršenje atributa ograničene vrste podataka
Rješenje
Podržani hitni popravak dostupan je od Microsofta. No taj je hitni popravak namijenjen ispravljanja samo problema opisanog u ovom članku. Taj hitni popravak primijenite samo na sustave na koje se pojavljuje taj određeni problem. Taj hitni popravak može primiti dodatno testiranje. Stoga, ako taj problem ne utječe ozbiljno, preporučujemo da pričekate sljedeće ažuriranje softvera koje sadrži taj hitni popravak.
Ako je hitni popravak dostupan za preuzimanje, pri vrhu ovog članka baze znanja nalazi se odjeljak "Dostupno je preuzimanje s hitnim popravcima". Ako se taj odjeljak ne prikaže, obratite se Microsoftovoj službi za korisnike i podršci da biste dobili hitni popravak. Napomena Ako se pojave dodatni problemi ili ako je potrebno otklanjanje poteškoća, možda ćete morati stvoriti zaseban zahtjev za uslugu. Uobičajeni troškovi podrške primijenit će se na dodatna pitanja o podršci i probleme koji ne ispunjavaju uvjete za taj određeni hitni popravak. Potpuni popis telefonskih brojeva Microsoftove službe za korisnike i podrške ili za stvaranje zasebnog zahtjeva za uslugu potražite na sljedećem Microsoftovu web-mjestu:http://support.microsoft.com/contactus/?ws=supportNapomena Obrazac "Dostupno je preuzimanje s hitnim popravcima" prikazuje jezike za koje je hitni popravak dostupan. Ako ne vidite jezik, to je zato što hitni popravak nije dostupan za taj jezik. ' Engleska verzija ovog hitnog popravka ima atribute datoteka (ili novije) koji su navedeni u sljedećoj tablici. Datumi i vremena za te datoteke navedeni su u koordiniranom univerzalnom vremenu (UTC). Kada pregledavate informacije o datoteci, pretvaraju se u lokalno vrijeme. Da biste pronašli razliku između UTC-a i lokalnog vremena, koristite karticu Vremenska zona u alatu Datum i vrijeme u Upravljačka ploča.
MDAC 2.7 Service Pack 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
Napomena Za popis svih hitnih popravaka dostupnih za MDAC 2.8 kliknite sljedeći broj članka u Microsoftovoj bazi znanja:
839801 popravak: hitni popravci dostupni su za MDAC 2.8
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku "Odnosi se na".
Dodatne informacije
Koraci za reproduciranje ponašanja
-
Upotrijebite sljedeći kod da biste stvorili SQL Server pohranjenu proceduru s izlaznim parametrima na povezanom poslužitelju:
USE pubs GO CREATE PROCEDURE dbo.sample_stored_procedure @op varchar(20) output AS set @op = 'demo string' return 0 GO
Napomena Ne primate poruku o pogrešci koja je navedena u odjeljku "Simptomi" ako pohranjena procedura vraća skup rezultata.
-
Sljedeći ogledni kod aplikacije Microsoft Visual Basic pristupa udaljenoj spremljenoj proceduri na povezanom poslužitelju. U sljedećem primjeru koda srv1 i
srv2 dva su poslužitelja na kojima se izvodi SQL Server, a srv2 stvarate kao povezani poslužitelj na 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