Microsoft разпространява корекциите на Microsoft SQL Server 2008 като един файл за изтегляне. Тъй като корекциите са кумулативни, всяко ново издание съдържа всички актуални поправки и корекции на защитата, които са били включени в предишното издание на корекция на SQL Server 2008.
Симптоми
В приложение използвате драйвера на SQL Server 2008 Native Client. Функцията SQLBindParameter се извиква, за да обвържете параметър с широк тип данни за заявка. Например обвързвате параметър с типа данни NCHAR или с типа данни NVARCHAR. Приложението подава стойност, която е по-голяма от 4000, към параметъра ColumnSize на функцията SQLBindParameter. Когато изпълните заявката в приложението, получавате следното съобщение за грешка:
Забележка
Потокът на протокола за извикване на отдалечена процедура (RPC) за входящ поток с таблични данни (TDS) е неправилен. Параметър 1 (""): Тип данни 0xE7 има невалидна дължина на данните или дължина на метаданните.
Забележка: Това съобщение за грешка е съобщение за грешка от страната на сървъра. Ако приложението използва вместо това драйвера на SQL Server 2005 Native Client, получавате следното съобщение за грешка от страна на клиента, както се очаква:
Забележка
[Microsoft][SQL Native Client]Невалидна стойност на точност
Причина
Този проблем възниква, защото драйверът на SQL Server 2008 Native Client не извършва проверка по време на изпълнение на входния размер на колоната за функцията SQLBindParameter. Освен това драйверът удвоява размера на колоната, ако входният размер на колоната е по-голям от 4000 и параметърът е от тип данни с широк бутон. Следователно SQL Server връща грешка от страна на сървъра, че параметърът надвишава горната граница (8000).
Забележка: Драйверът на SQL Server 2005 Native Client извършва проверка по време на изпълнение за входния размер на колоната. Следователно, ако входният размер на колоната е по-голям от 8000, драйверът на SQL Server 2005 Native Client връща грешка от страна на клиента.
Решение
Корекцията за този проблем е издадена за първи път в сборна актуализация 3 за SQL Server 2008 Service Pack 1. За допълнителна информация относно този пакет за кумулативна актуализация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
971491 Сборен пакет за актуализация 3 за SQL Server 2008 Service Pack 1Note Тъй като компилациите са кумулативни, всяко ново издание на корекции съдържа всички актуални поправки и корекции на защитата, които са били включени в предишното издание на корекция SQL Server 2008. Microsoft препоръчва да обмислите прилагането на най-новото издание на корекцията, което съдържа тази гореща корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
970365 Компилациите на SQL Server 2008, които са издадени след издаването на SQL Server 2008 Service Pack 1
Актуалните поправки на Microsoft SQL Server 2008 се създават за конкретни сервизни пакети на SQL Server. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 1 към инсталация на SQL Server 2008 Service Pack 1. По подразбиране всяка актуална корекция, предоставена в сервизен пакет на SQL Server, се включва в следващия сервизен пакет на SQL Server.
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
За повече информация относно модела на постъпково обслужване за SQL Server щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
935897 От екипа на SQL Server се предлага модел на постъпково обслужване, който да предоставя актуални корекции за съобщени проблеми
За допълнителна информация относно схемата за именуване на актуализациите на SQL Server щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
822499 Нова схема за именуване на пакетите за актуализация на софтуера на Microsoft SQL Server
За допълнителна информация относно терминологията относно софтуерните актуализации щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
824684 Описание на стандартната терминология, която се използва за описание на софтуерните актуализации на Microsoft