Popravak: Microsoft SQL Server ODBC upravljački program ne može dohvatiti izlaznih parametara udaljene spremljene procedure povezanog poslužitelja


Simptomi


Ako pokrenete udaljeno spremljene procedure s parametrima Izlaz na povezanom poslužitelju kroz ODBC upravljački program za SQL Server, ODBC upravljački program ne može dohvatiti izlazni parametar i primiti sljedeću poruku o pogrešci:

[Microsoft] [ODBC SQL Server pogonski program] Prekršaj atributa zabranjene vrste podataka

Razlučivost


Podržani prilagodbeni popravak dostupan je iz Microsoft. No taj hitni popravak je namijenjen samo ispravku problema opisanog u ovom članku. Da biste primijenili taj hitni popravak samo na sustave u kojima se pojavljuje upravo taj problem. Taj hitni popravak možda dodatno testirati. Stoga, ako vam se ne uzrokuje taj problem, preporučujemo da pričekate sljedeće ažuriranje softvera koje sadrži taj hitni popravak.

Ako hitni popravak dostupan je za preuzimanje, postoji odjeljak "Moguće je preuzeti hitni popravak označeno" na vrhu ovog članka iz baze znanja. Ako se taj odjeljak ne pojavi, obratite se Microsoftove službe za podršku da biste nabavili hitni popravak.

Napomena Ako se pojave dodatni problemi ili je potrebno otklanjanje poteškoća, možda ćete morati stvoriti zaseban zahtjev za uslugom. Uobičajeni podršku troškovi će primijeniti na dodatna pitanja i probleme koji nemaju veze s ovim hitnim popravkom. Potpun popis brojeva telefona Microsoftove službe za podršku ili stvoriti zaseban zahtjev za uslugom, posjetite sljedeće Microsoftovo Web-mjesto:Napomena U obrascu "Moguće je preuzeti hitni popravak označeno" prikazuje jezicima za koje je hitni popravak dostupan. Ako ne vidite svoj jezik, je jer hitni popravak nije dostupan za taj jezik.

' U Engleska verzija tog hitnog popravka ima atribute datoteka (ili noviji) koji su popisani u sljedećoj tablici. Datumi i vrijeme za te datoteke navedene su u koordiniranom univerzalnom vremenu (UTC). Kada pregledavate informacije o datoteci, pretvara se u lokalnom vremenu. Da biste saznali razliku između UTC i lokalnog vremena, koristite karticu vremenske Zone u alatu datum i vrijeme na upravljačkoj ploči.

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 Popis svih dostupnih MDAC 2.8 hitne, kliknite sljedeći broj članka u Microsoftovoj bazi znanja:
POPRAVAK 839801 : hitnih popravaka dostupne su za MDAC 2.8

Status


Microsoft je potvrdio da se taj problem pojavljuje u Microsoftovim proizvodima navedenima u odjeljku "Odnosi se na".

Više informacija


Koraci za ponavljanje postupka ponašanje

  1. Za stvaranje SQL Server pohranjene procedure s izlaznih parametara na povezanom poslužitelju koristite sljedeći kod:
        USE pubs
    GO

    CREATE PROCEDURE dbo.sample_stored_procedure
    @op varchar(20) output
    AS
    set @op = 'demo string'
    return 0
    GO

    Napomena Ne dobivate poruku o pogrešci navedenu u odjeljku "Simptomi" ako pohranjena procedura vraća skup rezultata.
  2. Sljedeći uzorak koda aplikacije Microsoft Visual Basic pristupa udaljenom spremljene procedure povezanog poslužitelja. U sljedećem primjeru koda, srv1 i
    srv2 su dva poslužitelja sa sustavom SQL Server i stvarate srv2 kao povezanog poslužitelja 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