OPRAVA: Chybové hlásenie pri spustení aplikácie založenej na serveri SQL Server 2008, ktorá volá funkciu SQLBindParameter: Prichádzajúci stream protokolu vzdialeného volania procedúr (RPC) prichádzajúceho tabuľkového streamu údajov (TDS) je nesprávny"

Spoločnosť Microsoft distribuuje opravy Microsoft SQL Server 2008 ako jeden súbor na stiahnutie. Keďže opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcom vydaní opráv SQL Server 2008.

Príznaky

V aplikácii používate ovládač pre natívneho klienta SQL Server 2008. Funkcia SQLBindParameter voláte na viazanie parametra širokého typu znakov pre dotaz. Naviažete napríklad parameter typu údajov NCHAR alebo typu údajov NVARCHAR. Aplikácia odovzdá hodnotu väčšiu ako 4 000 do parametra ColumnSize funkcie SQLBindParameter. Po spustení dotazu v aplikácii sa zobrazí nasledujúce chybové hlásenie:

Poznámka

Prichádzajúci stream protokolu vzdialeného volania procedúr (RPC) tabuľkového streamu údajov (TDS) je nesprávny. Parameter 1 (""): Typ údajov 0xE7 má neplatnú dĺžku údajov alebo dĺžku metaúdajov.

Poznámka: Toto chybové hlásenie je chybové hlásenie na strane servera. Ak aplikácia namiesto toho používa ovládač SQL Server 2005 Native Client, na strane klienta sa zobrazí nasledujúce chybové hlásenie podľa očakávania:

Poznámka

[Microsoft][SQL Native Client]Neplatná hodnota presnosti

Príčina

Tento problém sa vyskytuje, pretože ovládač SQL Server 2008 Native Client nevykoná kontrolu veľkosti vstupného stĺpca pre funkciu SQLBindParameter za režimu runtime. Okrem toho ovládač zdvojnásobí veľkosť stĺpca, ak je veľkosť vstupného stĺpca väčšia ako 4 000 a parameter je širokoznakovým typom údajov. Preto SQL Server vráti chybu na strane servera, že parameter prekračuje hornú hranicu (8 000).

Poznámka: Ovládač SQL Server 2005 Native Client vykonáva kontrolu veľkosti vstupného stĺpca počas runtime. Preto ak je veľkosť vstupného stĺpca väčšia než 8 000, ovládač natívneho klienta SQL Server 2005 vráti chybu na strane klienta.

Riešenie

Oprava tohto problému bola prvýkrát vydaná v Kumulatívnej aktualizácii 3 pre balík Service Pack 1 pre SQL Server 2008. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:

971491 Kumulatívny balík aktualizácie 3 pre balík SQL Server 2008 Service Pack 1Poznámka Keďže zostavy sú kumulatívne, každé nové vydanie opravy obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcom vydaní opráv SQL Server 2008. Spoločnosť Microsoft odporúča, aby ste zvážili použitie najnovšej opravy, ktorá obsahuje túto opravu. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

970365 Zostavy SQL Server 2008, ktoré boli vydané po vydaní balíka Service Pack 1 SQL Server 2008
Rýchle opravy Microsoft SQL Server 2008 sa vytvárajú pre konkrétne balíky Service Pack SQL Server. Na inštaláciu balíka SQL Server 2008 Service Pack 1 je potrebné použiť rýchlu opravu SQL Server 2008 Service Pack 1. Predvolene je každá rýchla oprava, ktorá je súčasťou balíka Service Pack pre SQL Server, zahrnutá do ďalšieho balíka Service Pack SQL Server.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Odkazy

Ďalšie informácie o modeli prírastkovej údržby pre SQL Server získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:

935897 Tím SQL Server je k dispozícii prírastkový model údržby, ktorý bude poskytovať rýchle opravy nahlásených problémov

Ďalšie informácie o schéme pomenovania pre aktualizácie SQL Server nájdete v nasledujúcom článku databázy Microsoft Knowledge Base:

822499 Nová schéma pomenovania pre balíky aktualizácií softvéru Microsoft SQL Server

Ďalšie informácie o terminológii aktualizácií softvéru nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledujúce číslo:

824684 Popis štandardnej terminológie, ktorá sa používa na popis aktualizácií softvéru spoločnosti Microsoft