Jelenségek
Ha távoli tárolt eljárást futtat kimeneti paraméterekkel egy csatolt kiszolgálón egy ODBC-illesztőn keresztül a SQL Server számára, az ODBC-illesztőprogram nem tudja lekérni a kimeneti paramétert, és a következő hibaüzenet jelenhet meg:
[Microsoft] [ODBC SQL Server-illesztőprogram]Korlátozott adattípus-attribútum megsértése
Megoldás
A Microsoft által támogatott gyorsjavítás érhető el. Ez a gyorsjavítás azonban csak az ebben a cikkben ismertetett probléma megoldására szolgál. Ezt a gyorsjavítást csak azokra a rendszerekre alkalmazza, amelyeknél ez a probléma jelentkezik. Ez a gyorsjavítás további tesztelést kaphat. Ezért ha a probléma nem érinti súlyosan, javasoljuk, hogy várja meg a gyorsjavítást tartalmazó következő szoftverfrissítést.
Ha a gyorsjavítás letölthető, a tudásbáziscikk tetején található egy "Gyorsjavítás letöltése elérhető" szakasz. Ha ez a szakasz nem jelenik meg, lépjen kapcsolatba a Microsoft ügyfélszolgálatával és ügyfélszolgálatával a gyorsjavítás beszerzéséhez.
Megjegyzés: Ha további problémák merülnek fel, vagy hibaelhárításra van szükség, előfordulhat, hogy külön szolgáltatáskérést kell létrehoznia. A szokásos támogatási költségek azokra a további támogatási kérdésekre és problémákra vonatkoznak, amelyek nem jogosultak erre a gyorsjavításra. A Microsoft ügyfélszolgálati és támogatási telefonszámainak teljes listájáért vagy egy külön szolgáltatáskérés létrehozásához látogasson el a Microsoft következő webhelyére:
http://support.microsoft.com/contactus/?ws=supportMegjegyzés: A "Gyorsjavítás letöltése elérhető" űrlap megjeleníti azokat a nyelveket, amelyekhez a gyorsjavítás elérhető. Ha nem látja a nyelvet, annak az az oka, hogy az adott nyelvhez nem érhető el gyorsjavítás.
' A gyorsjavítás angol nyelvű verziója tartalmazza az alábbi táblázatban felsorolt fájlattribútumokat (vagy újabbakat). Ezeknek a fájloknak a dátumai és időpontjai egyezményes világidő (UTC) szerint vannak felsorolva. Amikor megtekinti a fájladatokat, a rendszer helyi idővé alakítja azokat. Az UTC és a helyi idő közötti különbség megtalálásához használja az Időzóna lapot a Vezérlőpult Dátum és idő eszközében.
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
Megjegyzés: Az MDAC 2.8-hoz elérhető összes gyorsjavítás listájáért kattintson a következő cikkszámra a cikk Microsoft Tudásbázisban való megtekintéséhez:
839801 JAVÍTÁS: Gyorsjavítások érhetők el az MDAC 2.8-hoz
Állapot
A Microsoft megerősítette, hogy ez a probléma „A következőkre vonatkozik:” részben felsorolt Microsoft-termékekre vonatkozik.
További információ
A viselkedés reprodukálásának lépései
-
A következő kód használatával hozzon létre egy SQL Server tárolt eljárást a kimeneti paraméterekkel egy csatolt kiszolgálón:
USE pubs GO CREATE PROCEDURE dbo.sample_stored_procedure @op varchar(20) output AS set @op = 'demo string' return 0 GO
Megjegyzés: Ha a tárolt eljárás eredményhalmazt ad vissza, nem jelenik meg a "Tünetek" szakaszban felsorolt hibaüzenet.
-
Az alábbi Microsoft Visual Basic alkalmazásmintakód egy csatolt kiszolgálón fér hozzá a távoli tárolt eljáráshoz. Az alábbi kódmintában az srv1 és
az srv2 a két kiszolgáló, amelyek SQL Server futnak, és az srv2-t társított kiszolgálóként hozza létre az srv1-en.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