Importowanie macierzystego i znaków formatowania danych z wcześniejszych wersji programu 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, SQL Server 2008 R2 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 jest poziom starszej wersja programu SQL Server, użyj -V przełączyć się następująco:
Wersja programu SQL Server |
Kwalifikator |
---|---|
SQL Server 7.0 |
-V70 |
SQL Server 2000 |
-V80 |
SQL Server 2005 |
-V90 |
Interpretacja typy danych programu SQL Server
SQL Server 2005a nowsze wersje obsługuje niektóre nowe typy.Kiedy chcesz zaimportować nowy typ danych starszej wersja, typ danych muszą być przechowywane w formacie, który można odczytać przez starszy bcp klientów.W następującej tabela podsumowano jak nowe typy danych SQL Server 2005 są konwertowane na zgodność ze starszymi 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 |
* Ten typ jest obsługiwany macierzyście.
1 UDT wskazuje typ zdefiniowany przez użytkownika.
Eksportowanie z programu SQL Server 2005 i nowsze wersje
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
Gdy użytkownik eksport zbiorczy danych z SQL Server 7.0 lub SQL Server 2000, należy uwzględnić następujące:
W SQL Server 7.0 i SQL Server 2000, wartość 0 oznacza kolumna o zerowej długości.
Format przechowywania dla bigint dane wyeksportowane z SQL Server 7.0 zależy od formatu danych w pliku danych:
W trybie macierzystym lub pliku danych w formacie macierzystym standardu Unicode bigint dane są przechowywane jako decimal(19,0).
W trybie znakowym lub pliku danych formatu znaków Unicode bigint dane są przechowywane jako znak lub ciąg Unicode [ -digits, (na przykład –25688904432).
Kopiowanie wartości dat
Począwszy od SQL Server 7.0, bcp używa ODBC kopiowanie masowe API.Dlatego, aby data importu wartości do SQL Server 7.0 lub nowszej, bcp w formacie daty ODBC ( yyyy-mm-dd hh:mm:ss.f...]).
Bcp polecenie eksportuje pliki danych w formacie znaków przy użyciu domyślnego formatu ODBC dla datetime i smalldatetime wartości.Na przykład datetime kolumna zawierające data 12 Aug 1998 jest luzem kopiowany do pliku danych jako ciąg znaków 1998-08-12 00:00:00.000.
![]() |
---|
Podczas importowania danych do smalldatetime przy użyciu pole bcp, upewnij się wartość sekund jest 00.000; w przeciwnym razie operacja nie powiedzie się.smalldatetime Typ danych przechowuje tylko wartości do najbliższej minutę.WŁÓŻ luzem i WSTAW...Wybierz * nie powiedzie się Z OPENROWSET(BULK...) w tym wystąpienie , ale obcinają wartości sekund. |