Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
W tym artykule opisano sposób użycia narzędzia bcp do utworzenia pliku formatu dla określonej tabeli. Plik formatu jest oparty na określonej opcji typu danych (-n
, -c
, -w
lub -N
) oraz ograniczników tabeli lub widoku.
Podczas zbiorczego importowania do tabeli programu SQL Server lub zbiorczego eksportowania danych z tabeli można użyć pliku formatu jako elastycznego systemu do zapisywania plików danych. Pliki formatu wymagają niewielkiej lub żadnej edycji w celu zachowania zgodności z innymi formatami danych lub odczytu plików danych z innych programów programowych.
Ograniczenia
Wersja narzędzia bcp (bcp.exe
) używana do odczytu pliku formatu musi być taka sama jak lub nowsza niż wersja użyta do utworzenia pliku formatu. Na przykład program SQL Server 2016 (13.x) bcp może odczytać plik formatu w wersji 12.0, który jest generowany przez program SQL Server 2014 (12.x) bcp, ale program SQL Server 2014 (12.x) bcp nie może odczytać pliku w formacie 13.0, który jest generowany przez program SQL Server 2016 (13.x) bcp.
Notatka
Ta składnia, w tym wstawianie zbiorcze, nie jest obsługiwana w usłudze Azure Synapse Analytics. W usłudze Azure Synapse Analytics i innych integracji platformy bazy danych w chmurze wykonaj przenoszenie danych za pośrednictwem instrukcji COPY w usłudze Azure Data Factorylub za pomocą instrukcji języka T-SQL , takich jak COPY INTO i PolyBase.
Tworzenie plików formatu
Program SQL Server obsługuje dwa typy plików formatu: format inny niż XML i format XML. Format inny niż XML jest oryginalnym formatem obsługiwanym przez wcześniejsze wersje programu SQL Server.
Ogólnie rzecz biorąc, pliki w formacie XML i inne niż XML są zamienne. Zalecamy jednak używanie składni XML do formatowania plików, ponieważ zapewniają one kilka zalet w porównaniu z plikami formatu innego niż XML.
Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2022
lub AdventureWorksDW2022
, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności. Adventure Works Cycles to fikcyjna firma produkcyjna, która demonstruje pojęcia i scenariusze bazy danych.
Tworzenie pliku formatu XML
Aby użyć polecenia bcp w celu utworzenia pliku formatu, określ argument format
i użyj nul
zamiast ścieżki pliku danych. Opcja format
zawsze wymaga opcji -f
, a do utworzenia pliku w formacie XML należy również określić opcję -x
, na przykład bcp <table_or_view> format nul -f <format_file_name> -x
.
Aby odróżnić plik formatu XML, zalecamy użycie .xml
jako rozszerzenia nazwy pliku, na przykład MyTable.xml
.
Aby uzyskać informacje o strukturze i polach plików formatu XML, zobacz XML Format Files (SQL Server).
Przykłady
Ta sekcja zawiera następujące przykłady pokazujące, jak utworzyć plik w formacie XML za pomocą poleceń bcp. Tabela HumanResources.Department
zawiera cztery kolumny: DepartmentID
, Name
, GroupName
i ModifiedDate
.
A. Tworzenie pliku formatu XML dla danych znaków
Poniższy przykład tworzy plik formatu XML, Department.xml
, dla tabeli HumanResources.Department
. Plik formatu używa formatów danych znaków i terminatora pola innego niż domyślny (,
). Zawartość wygenerowanego pliku formatu jest wyświetlana po poleceniu .
Polecenie bcp zawiera następujące kwalifikatory.
Kwalifikatory | Opis |
---|---|
format nul -x -f <format_file> |
Określa plik formatu XML. |
-c |
Określa dane znaków. |
-t, |
Określa przecinek (, ) jako terminator pola.Uwaga: Jeśli plik danych używa domyślnego terminatora pola ( \t ), przełącznik -t jest niepotrzebny. |
-T |
Określa, że narzędzie bcp łączy się z serwerem SQL Server za pomocą uwierzytelnionego połączenia przy użyciu zintegrowanych zabezpieczeń. Jeśli nie określono -T , musisz określić -U i -P , aby pomyślnie się zalogować. |
W wierszu polecenia systemu Windows wprowadź następujące polecenie bcp
:
bcp AdventureWorks2022.HumanResources.Department format nul -c -x -f Department-c.xml -t, -T
Wygenerowany plik formatu Department-c.xml
zawiera następujące elementy XML:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="7"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
</ROW>
</BCPFORMAT>
Aby uzyskać informacje o składni tego pliku formatu, zobacz XML Format Files (SQL Server). Aby uzyskać informacje na temat danych znaków, zobacz Używanie formatu znaków do importowania lub eksportowania danych (SQL Server).
B. Tworzenie pliku formatu XML dla danych natywnych
Poniższy przykład tworzy plik formatu XML, Department-n.xml
, dla tabeli HumanResources.Department
. Plik formatu używa natywnych typów danych. Zawartość wygenerowanego pliku formatu jest wyświetlana po poleceniu .
Polecenie bcp zawiera następujące modyfikatory.
Kwalifikatory | Opis |
---|---|
format nul -x -f <format_file> |
Określa plik formatu XML. |
-n |
Określa natywne typy danych. |
-T |
Określa, że narzędzie bcp łączy się z SQL Server za pomocą zaufanego połączenia przy użyciu zabezpieczeń zintegrowanych. Jeśli nie określono -T , musisz określić -U i -P , aby pomyślnie się zalogować. |
W wierszu polecenia systemu Windows wprowadź następujące polecenie bcp
:
bcp AdventureWorks2022.HumanResources.Department format nul -x -f Department-n.xml -n -T
Wygenerowany plik formatu Department-n.xml
zawiera następujące elementy XML:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="NativeFixed" LENGTH="2"/>
<FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="NativeFixed" LENGTH="8"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
</ROW>
</BCPFORMAT>
Aby uzyskać informacje o składni tego pliku formatu, zobacz XML Format Files (SQL Server). Aby uzyskać informacje na temat używania danych natywnych, zobacz Używanie formatu natywnego do importowania lub eksportowania danych (SQL Server).
Mapuj pola danych do kolumn tabeli
Utworzony przez bcp plik formatu opisuje wszystkie kolumny tabeli w kolejności. Możesz zmodyfikować plik formatu, aby zmienić kolejność lub pominąć wiersze tabeli. Plik formatu można dostosować do pliku danych, którego pola nie są mapowanie bezpośrednio do kolumn tabeli. Aby uzyskać więcej informacji, zobacz następujące artykuły:
- Użyj pliku formatu, aby pominąć kolumnę tabeli (SQL Server)
- Użyj pliku formatu, aby pominąć pole danych (SQL Server)
- Użyj pliku formatu do mapowania kolumn tabeli na pola pliku danych (SQL Server)