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

Překlady článku Překlady článku
ID článku: 957387 - Produkty, které se vztahují k tomuto článku.
Bug #: 50003391 (SQL opravy Hotfix)
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

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:
http://support.microsoft.com/contactus/?ws=support
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
Zmenšit tuto tabulkuRozšířit tuto tabulku
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
Zmenšit tuto tabulkuRozšířit tuto tabulku
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):
http://msdn.microsoft.com/en-us/library/ms713584(VS.85).aspx
Další informace o funkci SQLBindParameter na webu služby MSDN:
http://msdn.microsoft.com/en-us/library/ms710963(VS.85).aspx

Vlastnosti

ID článku: 957387 - Poslední aktualizace: 17. listopadu 2008 - Revize: 2.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
Klíčová slova: 
kbmt kbautohotfix kbexpertiseinter kbfix kbbug kbqfe kbhotfixserver KB957387 KbMtcs
Strojově přeložený článek
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

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com