Update: Alle späteren Befehle werden ignoriert, nachdem die SQLDescribeParam auf Funktion eine Fehlermeldung in SQL Server 2005-basierten Anwendung, der SQL Native Client ODBC-Provider verwendet

Fehler: #50001861 (SQL Hotfix)

Problembeschreibung

Betrachten Sie das folgende Szenario:
  • In einer Microsoft SQL Server 2005-basierten Anwendung verwenden Sie SQL Native Client ODBC-Anbieter für die Verbindung zu einer Instanz von SQL Server 2005.
  • Sie aktivieren die vorbereitete Ausführung durch Aufrufen der SQLPrepare -Funktion.
  • In der Anwendung verwenden Sie die Funktion SQLDescribeParam auf .
Bei SQLDescribeParam auf Funktion eine Fehlermeldung zurückgibt, werden alle späteren Befehle unerwartet ignoriert.

Z. B. sind eine Anweisung in einer Anwendung die folgende Fehlermeldung generiert beim Aufruf der Funktion SQLDescribeParam auf , die Befehle später in der Anwendung ignoriert:
Fehlermeldung: 207 Nachricht: Ungültiger Spaltenname [Microsoft] [SQL Native Client] [SQL Server] Spaltenname.
Wenn Sie SQL Server Profiler verwenden, um eine Verfolgung SQL Server erfassen, finden Sie in diesem Beispiel Ereignisse wie die folgenden:
SQL:BatchStartingSET FMTONLY ON select c1 from tab where 1=2 SET FMTONLY OFFSQL:StmtStartingSET FMTONLY ON
SQL:StmtCompletedSET FMTONLY ON
SQL:StmtStartingselect c1 from tab where 1=2
ExceptionError: 207, Severity: 16, State: 1
User Error MessageInvalid column name 'c1'.
SQL:BatchCompletedSET FMTONLY ON select c1 from tab where 1=2 SET FMTONLY OFF

Ursache

Dieses Problem tritt auf, weil SQL Native Client ODBC-Provider an SQL Server zum Abfragen der Metadaten, die vorbereitete Ausführung der Anwendung wird die folgende Anweisung sendet:
SET FMTONLY ONSELECT <ColumnName> FROM <TableName> WHERE 1=2
SET FMTONLY OFF

Wenn die SELECT -Anweisung einen Fehler zurückgibt, wird die Anweisung SET FMTONLY OFF in der Anweisung nicht ausgeführt. Daher werden später Anweisung ignoriert.

Problemlösung

Hotfix-Informationen

Ein unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix soll nur der Behebung des Problems dienen, das in diesem Artikel beschrieben wird. Verwenden Sie diesen Hotfix nur auf Systemen, bei denen dieses spezielle Problem auftritt. Dieser Hotfix sollte weiteren Tests unterzogen werden. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir sie, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Wenn der Hotfix zum Download zur Verfügung steht, gibt es einen Abschnitt "Hotfixdownload available" ("Hotfixdownload verfügbar"), am oberen Rand dieses Knowledge Base-Artikel. Wenn dieser Abschnitt nicht angezeigt wird, wenden Sie sich an den Microsoft Customer Service and Support, um den Hotfix zu erhalten.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die nicht diesem speziellen Hotfix zugeordnet werden können. Eine vollständige Liste der Telefonnummern von Microsoft Customer Service and Support oder eine separate Serviceanfrage erstellen finden Sie auf der folgenden Microsoft-Website:Hinweis Das Formular "Hotfix download available" ("Hotfixdownload verfügbar") zeigt die Sprachen an, für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist dieser Hotfix für Ihre Sprache nicht verfügbar.

Voraussetzungen

Es sind keine Voraussetzungen erforderlich.

Informationen zum Neustart

Sie müssen keinen Neustart des Computers nach der Installation dieses Hotfixes durchführen.

Informationen zur Registrierung

Sie haben nicht die Registrierung ändern.

Hotfix-Informationen

Dieser Hotfix enthält nur die Dateien, die in diesem Artikel beschriebenen Probleme zu beheben. Dieser Hotfix enthält möglicherweise nicht alle Dateien, die Sie benötigen, um ein Produkt vollständig auf den neuesten Stand zu aktualisieren.

Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.
SQL Native Client 32-Bit-version
DateinameDateiversionDateigrößeDatumZeitPlattform
Sqlncli.dll2005.90.3215.02,234,90409-Dec-200714:59x86
Sqlnclir.rll2005.90.1399.0205,52814-Oct-200502:48x86
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
SQL Native Client, X64-basierte version
DateinameDateiversionDateigrößeDatumZeitPlattform
Sqlncli.dll2005.90.3215.02,755,60809-Dec-200701:05x64
Sqlnclir.rll2005.90.1399.0206,04014-Oct-200513:31x64
Sqlncli.dll2005.90.3215.02,234,90409-Dec-200714:59x86
Sqlnclir.rll2005.90.1399.0205,52814-Oct-200502:48x86
Msvcm80.dll8.0.50727.42516,09622-Sep-200523:27x64
Msvcp80.dll8.0.50727.421,097,72822-Sep-200523:28x64
Msvcr80.dll8.0.50727.42822,78422-Sep-200523:26x64
Msvcm80.dll8.0.50727.42516,09622-Sep-200523:27x64
Msvcp80.dll8.0.50727.421,097,72822-Sep-200523:28x64
Msvcr80.dll8.0.50727.42822,78422-Sep-200523:26x64
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
SQL Native Client, Itanium-basierte version
DateinameDateiversionDateigrößeDatumZeitPlattform
Sqlncli.dll2005.90.3215.05,421,08009-Dec-200705:34IA64
Sqlnclir.rll2005.90.1399.0205,01614-Oct-200513:39IA64
Sqlncli.dll2005.90.3215.02,234,90409-Dec-200714:59x86
Sqlnclir.rll2005.90.1399.0205,52814-Oct-200502:48x86
Msvcm80.dll8.0.50727.42572,41622-Sep-200523:29IA64
Msvcp80.dll8.0.50727.421,385,47222-Sep-200523:31IA64
Msvcr80.dll8.0.50727.421,484,80022-Sep-200523:28IA64
Msvcm80.dll8.0.50727.42572,41622-Sep-200523:29IA64
Msvcp80.dll8.0.50727.421,385,47222-Sep-200523:31IA64
Msvcr80.dll8.0.50727.421,484,80022-Sep-200523:28IA64
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86
Msvcm80.dll8.0.50727.42479,23222-Sep-200523:48x86
Msvcp80.dll8.0.50727.42548,86422-Sep-200523:48x86
Msvcr80.dll8.0.50727.42626,68822-Sep-200523:48x86

PROBLEMUMGEHUNG

Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden:
  • Vermeiden Sie Fehler für die Anweisung, die in der Anwendung festgelegt.
  • Verwenden Sie die vorbereitete Ausführung rufen Sie SQLDescribeParam auf Funktion in der Anwendung.
  • Vermeiden Sie SQLDescribeParam auf Funktion verwenden Sie die vorbereitete Ausführung der Anwendung.

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Hinweis Dieses Problem betrifft die ODBC-Treiber für SQL Server und SQL Native Client ODBC-Anbieter. Das Problem ist jedoch derzeit nur SQL Native Client ODBC-Provider korrigiert. Die Bibliotheksdatei der ODBC-Treiber für SQL Server ist Sqlsrv32. Die Bibliotheksdatei SQL Native Client ODBC-Provider ist Sqlncli.dll.

Weitere Informationen

Weitere Informationen zum Benennungsschema für SQL Server-Updates klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

Neues Benennungsschema für Microsoft SQL Server-Software 822499 Pakete aktualisieren

Um weitere Informationen zur Terminologie für Softwareupdates zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
824684 Erläuterung von der standardmäßigen Standardbegriffen bei Microsoft Softwareupdates
Eigenschaften

Artikelnummer: 942704 – Letzte Überarbeitung: 14.01.2017 – Revision: 1

Feedback