Oprava: Chybová zpráva při spuštění aplikace založené na SQL Server 2008 na volá funkci SQLBindParameter: "příchozí tabelární datový proud (TDS) vzdálené volání procedury proudu protokol (RPC) je nesprávná."

Společnost Microsoft distribuuje opravy Microsoft SQL Server 2008 jako jednoho souboru ke stažení. Protože jsou kumulativní opravy, každá nová verze tedy obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 release.

Příznaky

V aplikaci používáte ovladač SQL Server 2008 Native Client. Volání funkce SQLBindParameter svázat parametr široký znak typu dat pro dotaz. Například svázat parametr typ dat NCHAR nebo typ dat NVARCHAR . Aplikace předává hodnotu, která je větší než 4 000 ColumnSize parametr SQLBindParameter funkce. Při spuštění dotazu v aplikaci, zobrazí se následující chybová zpráva:

Příchozí tabulková data datový proud (TDS) vzdálené volání procedury proudu protokol (RPC) je nesprávná. Parametr 1 (""): typ dat 0xE7 má délku neplatná data nebo metadata délky.
Poznámka: Tato chybová zpráva je zpráva Chyba na straně serveru. Pokud aplikace používá ovladač SQL Server 2005 Native Client místo, zobrazí následující zpráva Chyba na straně klienta podle očekávání:

[Microsoft] [Nativního klienta SQL] Neplatná hodnota přesnosti.

Příčina

K tomuto problému dochází, protože ovladač SQL Server 2008 Native Client neprovádí kontrolu za běhu velikost vstupní sloupce funkce SQLBindParameter . Ovladač navíc zdvojnásobuje velikost sloupce, pokud vstupní sloupec velikost je větší než 4 000 a parametr je datový typ širokého znaku. Proto SQL Server vrátí chybu na straně serveru, že parametr překročil limit (8 000).

Poznámka: Ovladač SQL Server 2005 Native Client pro velikost vstupní sloupce provést kontrolu za běhu. Proto pokud velikost vstupní sloupce je větší než 8 000, ovladač SQL Server 2005 Native Client vrátí chybu klienta.

Řešení


Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 3 pro SQL Server 2008 Service Pack 1. Další informace o tomto balíčku kumulativní aktualizace klepněte na následující číslo článku databáze Microsoft Knowledge Base:
971491 kumulativní aktualizace balíčku 3 pro SQL Server 2008 Service Pack 1
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 release. Společnost Microsoft doporučuje zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
970365 SQL Server 2008 sestavení, které byly vydány po vydání SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 opravy hotfix jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2008 Service Pack 1 musí použít k instalaci aplikace SQL Server 2008 Service Pack 1. Ve výchozím žádné opravy hotfix, která je poskytována v aktualizace service pack serveru SQL Server je součástí další aktualizaci service pack pro SQL Server.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Odkazy

Další informace o přírůstkové Model servis pro SQL Server získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

935897 dílčí Model obsluhy je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potíže



Další informace o schéma názvů pro aktualizace serveru SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:

822499 Nové schéma přidělování názvů balíčkům aktualizací softwaru Microsoft SQL Server pro


Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft
Vlastnosti

ID článku: 971051 - Poslední kontrola: 13. 1. 2017 - Revize: 1

Váš názor