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 die Massenkopierfunktionen. sqlncli.h muss in die ODBC-Anwendung eingefügt werden, die die Massenkopiervorgänge durchführt, und muss zum Zeitpunkt der Anwendungskompilierung im Includepfad enthalten sein.

  • sqlncli10.lib

    Muss im Bibliothekspfad des Linkers enthalten und als Datei für die Verbindung angegeben sein. sqlncli10.lib ist Bestandteil des SQL Server Native Client ODBC-Treibers.

  • sqlncli10.dll

    Muss bei Ausführung vorhanden sein. sqlncli10.dll ist Bestandteil des SQL Server Native Client ODBC-Treibers.

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. Allerdings wurden in dieser Situation zusätzliche Felder von bcp.exe einfach abgeschnitten. Ab SQL Server 2005 gibt bcp.exe einen Fehler aus, wenn die Datentypen von Datei und Zieltabelle nicht übereinstimmen, und dadurch Daten abgeschnitten werden müssten, um in die Zieltabelle zu passen. 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.