FIX: Geen records worden geretourneerd wanneer het aanroepen van de functie SQLExecute een voorbereide instructie en SQL Native Client ODBC-stuurprogramma gebruikt in SQL Server 2008

BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.

De Engelstalige versie van dit artikel is de volgende:957387
BUG #: 50003391 (SQL-Hotfix)
Symptomen
U kunt SQL Native Client ODBC-stuurprogramma gebruikt in Microsoft SQL Server 2008. Als u belt deSQLExecutefunctie een voorbereide instructie geen records worden geretourneerd. Echter, als u het SQL Native Client ODBC-stuurprogramma in SQL Server 2005 te roepen deSQLExecutefunctie, worden records geretourneerd.
Oorzaak
Dit probleem kan optreden vanwege een fout in het SQL Native Client ODBC-stuurprogramma in SQL Server 2008. Dit kan optreden als u deSQLBindParametervoor elke functieSQLExecutefunctie. Zie de sectie 'Meer informatie' voor meer informatie.
Oplossing

Informatie over de cumulatieve update

De correctie voor dit probleem werd eerst uitgebracht in cumulatieve Update 1. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008:
956717Cumulatieve updatepakket 1 voor SQL Server 2008
OpmerkingOmdat de builds cumulatief zijn, elke nieuwe release correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 zijn release opgelost. Microsoft raadt aan u de meest recente fix release waarin deze hotfix toepast. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
956909SQL Server 2008 bouwt die zijn uitgebracht nadat SQL Server 2008 is uitgebracht.

Informatie over hotfixes

Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter bedoeld om alleen het probleem dat in dit artikel wordt beschreven. Deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op de volgende update waarin deze hotfix is opgenomen.

Als u de hotfix downloaden, is er een sectie 'Hotfix downloaden beschikbaar' aan het begin van dit Knowledge Base-artikel. Als deze sectie niet wordt weergegeven, contact op met Microsoft Customer Service and Support om de hotfix te verkrijgen.

OpmerkingAls er nog andere problemen optreden of als er oplossingen vereist is, moet u mogelijk een afzonderlijk serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen die niet in aanmerking voor deze specifieke hotfix komen. Bezoek de volgende Microsoft-website voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of een afzonderlijk serviceverzoek maken:OpmerkingHet formulier 'Hotfix gedownload' geeft de talen waarvoor de hotfix beschikbaar is. Als uw taal niet wordt weergegeven, is omdat een hotfix voor die taal beschikbaar.

Bestandsgegevens

De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Het verschil tussen UTC en lokale tijd, gebruikt u deTijdzonetabblad in deDatum en tijditem in het Configuratiescherm.
32-Bits edities van SQL Server 2008
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Kfsqlncli.dll2007.100.1755.016,92006 Sep 200815: 23x 86
Sqlncli10.dll2007.100.1755.02,459,67206 Sep 200815: 40x 86
SQL Server 2008 64-bits edities
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Kfsqlncli.dll2007.100.1755.017,43206 Sep 200820: 57x 64
Sqlncli10.dll2007.100.1755.03,158,55206 Sep 200821: 12x 64
Workaround
Bellen om dit probleem te omzeilen, deSQLBindParameterfunctie één keer. Wanneer u belt deSQLBindParameterfunctioneren, controleert u of de volgende voorwaarden wordt voldaan:
  • DeColumnSizeargument is van voldoende grootte.
  • DeStrlen_or_IndPtrargument is ingesteld op SQL_NTS.
Na de eerste aanroep van deSQLExecutefunctie is aangebracht, kan de waarde worden gekopieerd naar deParameterValuePtrargument.
Status
Microsoft heeft bevestigd dat dit probleem in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op' is.
Meer informatie
Dit probleem treedt op met deSQLBindParameteroproep. Als de vorige buffer overeenkomt met de grootte van de lengte van de volgende waarde, wordt de re-prepare van de instructie niet uitgegeven. In het volgende voorbeeld van een ODBC-trace buffer voor de eerste parameter overeenkomt met de lengte van de volgende nieuwe parameter.

Eerste parameter:
EC8 b6c SQLBindParameter afsluiten met retourcode 0 (SQL_SUCCESS)
HSTMT 05A8E260
UWORD 1
SWORD 1<sql_param_input></sql_param_input>
SWORD -8<sql_c_wchar></sql_c_wchar>
SWORD -9<sql_wvarchar></sql_wvarchar>
SQLULEN 7
SWORD 0
PTR 0X028C8A98
SQLLEN 65535
SQLLEN * 0X050506F8 (14)
Volgende nieuwe parameter:
EC8 b6c SQLBindParameter afsluiten met retourcode 0 (SQL_SUCCESS)
HSTMT 05A8E260
UWORD 1
SWORD 1<sql_param_input></sql_param_input>
SWORD -8<sql_c_wchar></sql_c_wchar>
SWORD -9<sql_wvarchar></sql_wvarchar>
SQLULEN 14
SWORD 0
PTR 0X028C4F80
SQLLEN 65535
SQLLEN * 0X050506F8 (28)
Referenties
Voor meer informatie over deSQLExecutefunctie, Ga naar de volgende website van Microsoft Developer Network (MSDN):Voor meer informatie over deSQLBindParameterfunctie, de volgende MSDN-website:
Opmerking Dit is een artikel voor snelle publicatie dat rechtstreeks is gemaakt vanuit de ondersteuningsorganisatie van Microsoft. De informatie in dit artikel wordt in de huidige vorm aangeboden in reactie op nieuw geconstateerde problemen. Aangezien artikelen van dit type zeer snel moeten worden gepubliceerd, kan de inhoud typografische fouten bevatten en kan de inhoud zonder voorafgaande kennisgeving worden gewijzigd. Raadpleeg de Gebruiksrechtovereenkomst voor overige aandachtspunten.

Waarschuwing: dit artikel is automatisch vertaald

Egenskaper

Artikkel-ID: 957387 – Forrige gjennomgang: 03/19/2011 11:05:00 – Revisjon: 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

  • kbautohotfix kbexpertiseinter kbfix kbbug kbqfe kbmt KB957387 KbMtnl
Tilbakemelding