Freigeben über


Durchführen von Massenkopiervorgängen (ODBC)

Der ODBC-Standard unterstützt SQL Server-Massenkopiervorgänge nicht direkt. Wenn der SQL Server Native Client ODBC-Treiber mit einer Instanz von SQL Server Version 7.0 oder höher verbunden ist, unterstützt er die DB-Library-Funktionen, die die Massenkopiervorgänge in SQL Server durchführen. Diese treiberspezifische Erweiterung stellt eine einfache Möglichkeit dar, bestehende DB-Library-Anwendungen zu aktualisieren, die Funktionen zum Massenkopieren verwenden. Die spezialisierte Unterstützung für Massenkopiervorgänge befindet sich in den folgenden Dateien:

  • sqlncli.h

    Enthält Funktionsprototypen und Konstantendefinitionen für Funktionen zum Massenkopieren. sqlncli.h muss in der ODBC-Anwendung, die Massenkopiervorgänge ausführt, enthalten sein und im Includepfad der Anwendung angegeben werden, wenn die Anwendung kompiliert wird.

  • sqlncli11.lib

    Muss im Bibliothekspfad des Linkers enthalten sein und als zu verknüpfende Datei angegeben werden. sqlncli11.lib wird zusammen mit dem SQL Server Native Client-ODBC-Treiber bereitgestellt.

  • sqlncli11.dll

    Muss zur Ausführungszeit verfügbar sein. sqlncli11.lib wird zusammen mit dem SQL Server Native Client-ODBC-Treiber bereitgestellt.

HinweisHinweis

Die ODBC SQLBulkOperations-Funktion hat keine Beziehung zu den Massenkopierfunktionen in SQL Server. Anwendungen müssen die SQL Server-spezifischen Massenkopierfunktionen verwenden, um Massenkopiervorgänge durchzuführen.

Minimales Protokollieren von Massenkopiervorgängen

Beim vollständigen Wiederherstellungsmodell werden alle beim Massenladen ausgeführten Vorgänge für das Einfügen von Zeilen vollständig im Transaktionsprotokoll protokolliert. Bei umfangreichen Datenladevorgängen kann dies dazu führen, dass das Transaktionsprotokoll schnell aufgefüllt wird. Unter bestimmten Umständen ist die minimale Protokollierung möglich. Bei der minimalen Protokollierung wird das Risiko verkleinert, dass ein Massenladevorgang das Protokoll auffüllt. Außerdem ist sie effizienter als die vollständige Protokollierung.

Informationen über das Verwenden der minimalen Protokollierung finden Sie unter Voraussetzungen für die minimale Protokollierung beim Massenimport.

Hinweise

Bei der Verwendung von bcp.exe in SQL Server 2005 oder höher erhalten Sie unter Umständen Fehler in Situationen, die in Versionen vor SQL Server 2005 keine Fehler hervorriefen. Das liegt daran, dass bcp.exe in höheren Versionen keine implizite Datentypkonvertierung mehr vornimmt. Vor SQL Server 2005 wurden numerische Daten von bcp.exe in den money-Datentyp konvertiert, wenn die Zieltabelle einen money-Datentyp aufwies. In dieser Situation hat bcp.exe zusätzliche Felder jedoch einfach abgeschnitten. Beginnend mit SQL Server 2005 löst bcp.exe einen Fehler aus, wenn die Datentypen der Datei und der Zieltabelle nicht übereinstimmen und Daten vorhanden sind, die beim Einfügen in die Zieltabelle abgeschnitten werden müssten. Um diesen Fehler zu beheben, korrigieren Sie die Daten so, dass sie zum Zieldatentyp passen. Optional können Sie die Datei bcp.exe aus einer Version vor SQL Server 2005 verwenden.

In diesem Abschnitt

Siehe auch

Konzepte

SQL Server Native Client (ODBC)

Massenimport und -export von Daten (SQL Server)