Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Azure SQL Database
Azure SQL Managed Instance
Analytics Platform System (PDW)
Podczas zbiorczego importowania danych do tabeli programu SQL Server lub zbiorczego eksportowania danych z tabeli można użyć pliku formatu do przechowywania wszystkich informacji o formacie wymaganym do zbiorczego eksportowania lub importowania zbiorczych danych. Obejmuje to informacje o formacie dla każdego pola w pliku danych względem tej tabeli.
Program SQL Server obsługuje dwa typy plików formatu: formaty XML i pliki w formacie innego niż XML. Zarówno pliki w formacie innego niż XML, jak i pliki formatu XML zawierają opisy każdego pola w pliku danych, a pliki formatu XML zawierają również opisy odpowiednich kolumn tabeli. Ogólnie rzecz biorąc, pliki w formacie XML i inne niż XML są zamienne. Zalecamy jednak użycie składni XML dla nowych plików formatu, ponieważ zapewniają one kilka korzyści w porównaniu z plikami formatu innego niż XML. Aby uzyskać więcej informacji, zobacz XML Format Files (SQL Server).
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.
Zalety plików formatu
Pliki formatu zapewniają elastyczny system do zapisywania plików danych, które wymagają niewielkiej lub żadnej edycji w celu zachowania zgodności z innymi formatami danych lub odczytywania plików danych z innego oprogramowania.
Możesz zbiorczo importować dane bez konieczności dodawania lub usuwania niepotrzebnych danych lub zmiany kolejności istniejących danych w pliku danych. Pliki formatu mogą być przydatne, gdy istnieje niezgodność między polami w pliku danych i kolumnami w tabeli.
Przykłady plików formatu
W poniższych przykładach pokazano układ pliku formatu innego niż XML i pliku formatu XML. Te pliki formatu odpowiadają tabeli HumanResources.myTeam w przykładowej bazie danych AdventureWorks2025. Ta tabela zawiera cztery kolumny: EmployeeID, Name, Titlei ModifiedDate.
Notatka
Aby uzyskać informacje o tej tabeli i sposobie jej tworzenia, zobacz HumanResources.myTeam przykładowej tabeli (SQL Server).
A. Używanie pliku w formacie innego niż XML
Poniższy plik formatu innego niż XML używa natywnego formatu danych programu SQL Server dla tabeli HumanResources.myTeam. Ten plik formatu został utworzony przy użyciu następującego polecenia bcp.
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.Fmt -n -T
Polecenie bcp domyślnie używa lokalnego, domyślnego wystąpienia programu SQL Server z uwierzytelnianiem systemu Windows. Możesz określić inne informacje dotyczące instancji i logowania według własnego uznania; aby uzyskać więcej informacji, zobacz bcp Utility. Aby na przykład określić serwer zdalny o nazwie wystąpienie z uwierzytelnianiem systemu Windows, użyj:
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.Fmt -n -T -S servername/instancename
Zawartość tego pliku formatu jest następująca, począwszy od numeru wersji głównej programu SQL Server i informacji o metadanych tabeli.
14.0
4
1 SQLSMALLINT 0 2 "" 1 EmployeeID ""
2 SQLNCHAR 2 100 "" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLNCHAR 2 100 "" 3 Title SQL_Latin1_General_CP1_CI_AS
4 SQLNCHAR 2 100 "" 4 Background SQL_Latin1_General_CP1_CI_AS
Aby uzyskać więcej informacji, zobacz Użyj plików w formacie innym niż XML (SQL Server).
B. Używanie pliku formatu XML
Poniższy plik formatu XML używa natywnego formatu danych programu SQL Server dla tabeli HumanResources.myTeam. Ten plik formatu został utworzony przy użyciu następującego polecenia bcp.
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.xml -x -n -T
Plik formatu zawiera:
<?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="NativePrefix" LENGTH="1"/>
<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="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="EmployeeID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="Title" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="Background" xsi:type="SQLNVARCHAR"/>
</ROW>
</BCPFORMAT>
Aby uzyskać więcej informacji, zobacz XML Format Files (SQL Server).
Kiedy jest wymagany plik formatu?
Pliki formatu są zwykle wymagane w następujących okolicznościach:
Gdy używasz instrukcji
INSERT ... SELECT * FROM OPENROWSET(BULK...).W przypadku skomplikowanych przypadków importowania zbiorczego przy użyciu bcp lub
BULK INSERT.Ten sam plik danych jest używany jako źródło dla wielu tabel, które mają różne schematy.
Plik danych ma inną liczbę pól niż tabela docelowa ma kolumn; na przykład:
- Tabela docelowa zawiera co najmniej jedną kolumnę, dla której jest zdefiniowana wartość domyślna lub
NULLjest dozwolona. - Użytkownicy nie mają uprawnień
SELECT/INSERTna jednej lub więcej kolumnach w tabeli. - Pojedynczy plik danych jest używany z co najmniej dwiema tabelami, które mają różne schematy.
- Tabela docelowa zawiera co najmniej jedną kolumnę, dla której jest zdefiniowana wartość domyślna lub
Kolejność kolumn jest inna dla pliku danych i tabeli.
Znaki zakończenia lub długości prefiksów różnią się między kolumnami pliku danych.
Notatka
W przypadku braku pliku formatu, jeśli polecenie bcp określa przełącznik formatu danych (-n, -c, -wlub -N) lub BULK INSERT operacja określa opcję DATAFILETYPE, określony format danych jest używany jako domyślna metoda interpretowania pól pliku danych.
Powiązane zadania
- Używanie pliku natywnego/formatu BCP a pliku tekstowego oraz BOM
- użyj plików w formacie innego niż XML (SQL Server)
- Pliki formatu XML (SQL Server)
- Formaty danych na potrzeby importowania zbiorczego lub eksportu zbiorczego (SQL Server)
- Tworzenie pliku formatu przy użyciu narzędzia bcp (SQL Server)