War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern

Importieren von Daten aus früheren SQL Server-Versionen im systemeigenen Format oder im Zeichenformat

Sie können den -V-Schalter verwenden, um mit bcp systemeigene Formatdaten und Zeichenformatdaten aus MicrosoftSQL Server 2005 oder früheren Versionen zu importieren. Wenn der -V-Schalter angegeben wird, verwendet MicrosoftSQL Server 2008 Datentypen aus früheren Versionen von MicrosoftSQL Server. Das Datendateiformat entspricht dann dem der früheren Version.

Um anzugeben, ob sich die Datendatei auf der Ebene einer früheren Version von SQL Server befindet, verwenden Sie den -V-Schalter wie folgt:

SQL Server-Version

Qualifizierer

SQL Server 7.0

-V 70

SQL Server 2000

-V 80

SQL Server 2005

-V 90

SQL Server 2005 und höhere Versionen bieten Unterstützung für einige neue Typen. Beim Importieren eines neuen Datentyps aus einer früheren Version, muss der Dateityp in einem Format gespeichert sein, das von den älteren bcp-Clients gelesen werden kann. In der folgenden Tabelle finden Sie eine Zusammenfassung über die Konvertierung der neuen Datentypen von SQL Server 2005 für die Kompatibilität mit früheren SQL Server-Versionen.

Neue Datentypen in SQL Server 2005

Kompatible Datentypen in Version 6x

Kompatible Datentypen in Version 70

Kompatible Datentypen in Version 80

bigint

decimal

decimal

*

sql_variant

text

nvarchar(4000)

*

varchar(max)

text

text

text

nvarchar(max)

ntext

ntext

ntext

varbinary(max)

image

image

image

XML

ntext

ntext

ntext

UDT1

image

image

image

* Dieser Typ wird vom eigenen System unterstützt.

1 UDT gibt einen benutzerdefinierten Typ an.

Bei einem Massenexport von Daten aus SQL Server 2005 oder höheren Versionen mithilfe des –V80-Schalters werden Daten vom Typ nvarchar(max), varchar(max), varbinary(max), XML und UDT – wie Daten vom Typ text, image, and ntext – anstatt mit einem 8-Byte-Präfix mit einem 4-Byte-Präfix im systemeigenen Format gespeichert. Dies ist der Standardwert für SQL Server 2005 und höhere Versionen.

Beim Massenexport von Daten aus SQL Server 7.0 oder SQL Server 2000 müssen Sie Folgendes berücksichtigen:

  • In SQL Server 7.0 und SQL Server 2000 stellt der Wert 0 eine Spalte der Länge Null dar.

  • Das Speicherformat für bigint-Daten, die aus SQL Server 7.0 exportiert wurden, hängt vom Datenformat der Datendatei ab:

    • Bei einer Datendatei im systemeigenen Format oder im systemeigenen Unicode-Format werden bigint-Daten als Daten des Typs decimal(19,0) gespeichert.

    • Bei einer Datendatei im Zeichenmodus oder im Unicode-Zeichenmodus werden bigint-Daten als Zeichenfolge oder als Unicode-Zeichenfolge [-]digits gespeichert (z. B. –25688904432).

Seit SQL Server 7.0 verwendet bcp die ODBC-API für das Massenkopieren. Deshalb verwendet bcp zum Importieren von Datumswerten in SQL Server 7.0 oder höher das ODBC-Datumsformat (yyyy-mm-dd hh:mm:ss[.f...]).

Der Befehl bcp exportiert Datendateien im Zeichenformat immer mithilfe des ODBC-Standardformats für datetime- und smalldatetime-Werte. So wird beispielsweise eine datetime-Spalte mit dem Datum 12 Aug 1998 beim Massenkopieren in eine Datendatei als die Zeichenfolge 1998-08-12 00:00:00.000 übertragen.

Wichtiger Hinweis Wichtig

Achten Sie beim Importieren von Daten mit bcp in ein smalldatetime-Feld darauf, dass der Wert für Sekunden 00.000 ist; andernfalls erzeugt der Vorgang einen Fehler. Der smalldatetime-Datentyp kann nur Werte beinhalten, die auf die volle Minute gerundet sind. BULK INSERT und INSERT ... SELECT * FROM OPENROWSET(BULK...) schlagen in diesem Fall nicht fehl, schneiden jedoch den Sekundenwert ab.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft