Importing Native and Character Format Data from Earlier Versions of SQL Server
To use bcp to import native and character format data from Microsoft SQL Server 2005 or earlier, use the -V switch.When the -V switch is specified, Microsoft SQL Server 2008 uses data types from earlier versions of Microsoft SQL Server, and the data file format will be the same as the one in that earlier version.
Aby określić, czy plik danych znajduje się poziom wcześniejszej wersja programu SQL Server, należy użyć -V przełączyć w następujący sposób:
Wersja programu SQL Server |
Kwalifikator |
---|---|
SQL Server 7.0 |
-V70 |
SQL Server 2000 |
-V80 |
SQL Server 2005 |
-V90 |
Interpretacja typy danych języka SQL Server
SQL Server 2005 i jego nowszych wersjach obsługę pewnych nowych typów.Gdy użytkownik chce zaimportować nowy typ danych do wcześniejszej wersja, typ danych muszą być przechowywane w formacie, który można odczytać przez starszych BCP klientów.W następującej tabela podsumowano, w jaki sposób nowe typy danych SQL Server 2005 są konwertowane w celu zachowania zgodności z wcześniejszymi wersjami programu SQL Server.
Nowe typy danych w programie SQL Server 2005 |
Typy danych zgodne w wersja 6x |
Typy danych zgodne w wersja 70 |
Typy danych zgodne w wersja 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 |
* Tego typu jest obsługiwane.
1 UDT wskazuje typu zdefiniowanego przez użytkownika.
Eksportowanie z programu SQL Server 2005 i wersje później
When you bulk export data by using the –V80 switch from SQL Server 2005 or later versions, nvarchar(max), varchar(max), varbinary(max), XML, and UDT data in native mode are stored with a 4-byte prefix, like text, image, and ntext data, rather than with an 8-byte prefix, which is the default for SQL Server 2005 and later versions.
Eksportowanie z programu SQL Server 7.0 lub SQL Server 2000
Kiedy zbiorczej eksportowania danych z SQL Server 7.0 lub SQL Server 2000, należy wziąć pod uwagę następujące kwestie:
W SQL Server 7.0 i SQL Server 2000, wartość 0 odpowiada kolumnie o zerowej długości.
Format przechowywania bigint dane wyeksportowane z SQL Server 7.0 zależy od formatu danych w pliku danych:
W trybie macierzystym lub w pliku danych w formacie macierzystym Unicode, bigint dane są przechowywane jako decimal(19,0).
In a character mode or Unicode character-format data file, bigint data is stored as a character or Unicode string of [-]digits, (for example, –25688904432).
Kopiowanie wartości data
Zaczyna się od SQL Server 7.0, BCP używa kopiowanie masowe ODBC interfejsu API.Therefore, to import date values into SQL Server 7.0 or later, bcp uses the ODBC date format (yyyy-mm-dd hh:mm:ss[.f...]).
The bcp command exports character format data files using the ODBC default format for datetime and smalldatetime values.Na przykład datetime kolumna zawierająca data 12 Aug 1998 jest zbiorcza kopiowany do pliku danych jako ciąg znaków 1998-08-12 00:00:00.000.
Important Note: |
---|
Podczas importowania danych do smalldatetime pole przy użyciu BCP, upewnij się wartości sekund jest 00.000; w przeciwnym razie operacja zakończy się niepowodzeniem.The smalldatetime data type only holds values to the nearest minute.ZBIORCZA INSERT i INSERT...SELECT * FROM OPENROWSET(BULK...) nie powiedzie się w tym wystąpieniu, ale obcinają wartości sekund. |