Príznaky
Ak spustíte vzdialenú uloženú procedúru s výstupnými parametrami na prepojenom serveri prostredníctvom ovládača ODBC pre SQL Server, ovládač ODBC nemôže načítať výstupný parameter a môže sa zobraziť nasledujúce chybové hlásenie:
[Microsoft] [ODBC SQL Server ovládač]Porušenie atribútu obmedzeného typu údajov
Riešenie
Od spoločnosti Microsoft je k dispozícii podporovaná rýchla oprava. Táto rýchla oprava je však určená len na odstránenie problému, ktorý je popísaný v tomto článku. Túto rýchlu opravu použite iba v systémoch, v ktorých sa vyskytol tento špecifický problém. Táto rýchla oprava môže získať ďalšie testovanie. Preto, ak nie ste vážne ovplyvnené týmto problémom, odporúčame počkať na ďalšiu aktualizáciu softvéru, ktorá obsahuje túto rýchlu opravu.
Ak je rýchla oprava k dispozícii na stiahnutie, v hornej časti tohto článku databázy Knowledge Base je k dispozícii sekcia Na stiahnutie rýchlej opravy. Ak sa táto sekcia nezobrazí, obráťte sa na oddelenie služieb zákazníkom a technickej podpory spoločnosti Microsoft a požiadajte o rýchlu opravu.
Poznámka: Ak sa vyskytnú ďalšie problémy, alebo ak je potrebné nejaké riešenie problémov, možno budete musieť vytvoriť samostatnú žiadosť o službu. Zvyčajné náklady na podporu sa budú vzťahovať na ďalšie otázky o podpore a problémy, ktoré nespĺňajú podmienky pre túto konkrétnu rýchlu opravu. Úplný zoznam telefónnych čísel služieb zákazníkom a podpory spoločnosti Microsoft alebo vytvorenie samostatnej žiadosti o službu nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:
http://support.microsoft.com/contactus/?ws=supportPoznámka Formulár "Rýchla oprava k dispozícii na stiahnutie" zobrazuje jazyky, pre ktoré je rýchla oprava k dispozícii. Ak sa váš jazyk nezobrazuje, je to spôsobené tým, že pre daný jazyk nie je k dispozícii rýchla oprava.
' Anglická verzia tejto rýchlej opravy obsahuje atribúty súboru (alebo novšie), ktoré sú uvedené v nasledujúcej tabuľke. Dátumy a časy pre tieto súbory sú uvedené v koordinovanom svetovom čase (UTC). Pri prezeraní sa informácie o súbore skonvertujú na miestny čas. Ak chcete nájsť rozdiel medzi utc a miestny čas, použite kartu Časové pásmo v nástroji Dátum a čas v ovládací panel.
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
Poznámka: Zoznam všetkých rýchlych opráv dostupných pre MDAC 2.8, kliknite na nasledujúce číslo článku zobraziť článok v databáze Microsoft Knowledge Base:
839801 OPRAVA: Rýchle opravy sú k dispozícii pre MDAC 2.8
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Ďalšie informácie
Kroky na reprodukovanie správania
-
Pomocou nasledujúceho kódu vytvorte SQL Server uloženú procedúru s výstupnými parametrami na prepojenom serveri:
USE pubs GO CREATE PROCEDURE dbo.sample_stored_procedure @op varchar(20) output AS set @op = 'demo string' return 0 GO
Poznámka: Ak uložená procedúra vráti množinu výsledkov, nezobrazí sa chybové hlásenie uvedené v časti Príznaky.
-
Nasledujúci vzorový kód aplikácie Microsoft Visual Basic pristupuje k vzdialenej uloženej procedúre na prepojenom serveri. V nasledujúcej ukážke kódu, srv1 a
srv2 sú dva servery, ktoré sú spustené SQL Server, a vytvárate srv2 ako prepojený server 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