Oprava: Nejsou žádné záznamy mohou být vráceny při volání funkce SQLExecute připravený příkaz Spustit a užívání ovladače ODBC SQL nativní klient v produktu SQL Server 2008

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:957387
Bug #: 50003391 (SQL opravy Hotfix)
Příznaky
V Microsoft SQL Server 2008 používáte ovladače ODBC SQL Native Client. Pokud zavoláte funkci SQLExecute připravený příkaz spustit, mohou být vráceny žádné záznamy. Používáte-li ovladače ODBC SQL nativního klienta serveru SQL Server 2005 pro volání funkce SQLExecute, jsou však vráceny záznamy.
Příčina
K těmto potížím dochází z důvodu chyby v SQL nativní klient ovladači ODBC SQL Server 2008. To může dojít, pokud volání funkce SQLBindParameter před každou funkce SQLExecute. Naleznete v části "Další informace" Další informace.
Řešení

Informace o kumulativní aktualizaci

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 1. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 naleznete následující článku znalostní báze Microsoft Knowledge Base:
956717Balíček kumulativní aktualizace 1 pro SQL Server 2008
Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí SQL Server 2008, opravte uvolnění. Společnost Microsoft doporučuje zvážit použití nejnovější vydání opravy, které tato oprava hotfix. Další informace získáte následujícím článku znalostní báze Microsoft:
956909Vytvoří SQL Server 2008, které byly vydány po vydání serveru SQL Server 2008

Informace o opravě hotfix

Podporovaná oprava hotfix k dispozici od společnosti Microsoft. Tato oprava hotfix je však určena pouze k odstranění problému popsaného v tomto článku. Tuto opravu hotfix použijte pouze v systémech, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud je přísně neohrožuje tento problém, doporučujeme počkat na další aktualizaci softwaru, která bude tuto opravu hotfix obsahovat.

Pokud je oprava hotfix k dispozici ke stažení, je oddíl "K dispozici oprava Hotfix stahování" v horní části tohoto článku znalostní báze Knowledge Base. Pokud v této části se nezobrazí, obraťte se na služby Microsoft a podporu získat opravu hotfix.

Poznámka: Pokud vyskytnout další problémy nebo řešení potíží je vyžadován, pravděpodobně budete muset vytvořit požadavek na samostatnou službu. Výdaje na podporu se obvykle týkají dalších otázek a problémů, které se netýkají této zvláštní opravy hotfix. Úplný seznam telefonních čísel služby Microsoft a podpora nebo vytvořit zvláštní požadavek na službu na následujícím webu společnosti Microsoft: Poznámka: "K dispozici oprava Hotfix stahování" formulář zobrazí jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, je to, protože oprava hotfix není k dispozici pro daný jazyk.

Informace o souboru

Anglická verze této opravy hotfix má atributy souborů (nebo vyšší atributy souborů), jsou uvedeny v následující tabulce. Data a časy těchto souborů jsou uvedeny v koordinovaný světový čas (UTC). Při zobrazení informací o souboru, bude převedena na na místní čas. Rozdíl mezi místním časem a UTC časem kartě časové pásmo v položce datum a čas v Ovládacích panelech.
SQL Server 2008, 32bitové verze
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Kfsqlncli.dll2007.100.1755.016,92006-. Září 200815: 23x 86
Sqlncli10.dll2007.100.1755.02,459,67206-. Září 200815: 40x 86
SQL Server 2008, 64bitové edice
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Kfsqlncli.dll2007.100.1755.017,43206-. Září 200820: 57x 64
Sqlncli10.dll2007.100.1755.03,158,55206-. Září 200821: 12x 64
Jak potíže obejít
Chcete-li tento problém vyřešit, volání funkce SQLBindParameter jednou. Při volání funkce SQLBindParameter zkontrolujte se, že jsou splněny následující podmínky:
  • Argument ColumnSize je dostatečné velikosti.
  • Argument Strlen_or_IndPtr je nastavena na SQL_NTS.
Po provedení první volání funkce SQLExecute novou hodnotu řetězce lze zkopírovat do argumentu ParameterValuePtr.
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části „ platí.
Další informace
K tomuto problému dochází, voláním SQLBindParameter. Pokud předchozí vyrovnávací paměti odpovídá velikosti následující délka hodnoty, není vystaven re-prepare výkazu. Parametr počáteční vyrovnávací paměti v následujícím příkladu z trasování ODBC odpovídá délce následující nový parametr.

První parametr:
SQLBindParameter EC8 b6c EXIT s návratový kód 0 (SQL_SUCCESS)
HSTMT 05A8E260
UWORD 1
SWORD 1 <SQL_PARAM_INPUT>
SWORD-8 <SQL_C_WCHAR>
SWORD-9 <SQL_WVARCHAR>
SQLULEN 7
SWORD 0
UKAZATEL (PTR) 0X028C8A98
SQLLEN 65535
SQLLEN * 0X050506F8 (14)
Následující nový parametr:
SQLBindParameter EC8 b6c EXIT s návratový kód 0 (SQL_SUCCESS)
HSTMT 05A8E260
UWORD 1
SWORD 1 <SQL_PARAM_INPUT>
SWORD-8 <SQL_C_WCHAR>
SWORD-9 <SQL_WVARCHAR>
SQLULEN 14
SWORD 0
UKAZATEL (PTR) 0X028C4F80
SQLLEN 65535
SQLLEN * 0X050506F8 (28)
Odkazy
Další informace o funkci SQLExecute naleznete na webu Microsoft Developer Network (MSDN): Další informace o funkci SQLBindParameter na webu služby MSDN:

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 957387 - Poslední kontrola: 11/17/2008 16:54:49 - Revize: 2.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Standard Edition for Small Business

  • kbmt kbautohotfix kbexpertiseinter kbfix kbbug kbqfe kbhotfixserver KB957387 KbMtcs
Váš názor