Luzem Importuj dane przy użyciu formatu pliku

W tym temacie ilustruje użycie plik formatu w operacji importu zbiorczego.plik formatu mapuje pola pliku danych kolumny tabela.W SQL Server 2005 i nowsze wersje, można użyć innych niż XML lub plik formatu XML do import zbiorczy danych przy użyciu bcp polecenia WSTAW luzem lub WSTAW w...Wybierz * Z OPENROWSET(BULK...) Transact-SQL polecenia.

Ważna informacjaWażne:

Plik formatu do pracy z plikiem danych Unicode znaku pól wejściowych musi być ciągi tekstowe Unicode (czyli stałym rozmiarze lub zakończone znak Unicode ciągi).

Ostrzeżenie

Jeśli użytkownik nie zna formatu plików, zobacz Opis plików w formacie XML programu i Opis plików w formacie XML.

Format pliku opcje poleceń importu zbiorczego

Poniższa tabela zawiera opcję format pliku dla każdego polecenia importu zbiorczego.

Polecenie Załaduj luzem

Przy użyciu opcji Format pliku

WSTAW LUZEM

FORMATFILE = "format_file_path'

WSTAW...WYBIERZ * Z OPENROWSET(BULK...)

FORMATFILE = "format_file_path'

bcpin

-fformat_file

Aby uzyskać więcej informacji, zobacz Narzędzie bcp, BULK INSERT (Transact-SQL), lub OPENROWSET (Transact-SQL).

Ostrzeżenie

Luzem eksportu lub importu danych SQLXML, użyj jednej z następujących typów danych w sieci plik formatu: SQLCHAR lub SQLVARYCHAR (dane wysyłane w strona kodowa klient lub strona kodowa implikowane przez sortowanie), SQLNCHAR lub SQLNVARCHAR (dane wysyłane jako Unicode), lub SQLBINARY lub SQLVARYBIN (dane wysyłane bez żadnej konwersji).

Przykłady

Przykłady w tej sekcji przedstawiają sposób korzystania z plików w formacie importu zbiorczego danych przy użyciu bcp polecenia i WSTAW luzem oraz INSERT...Wybierz * sprawozdań Z OPENROWSET(BULK...).Przed uruchomieniem jednego z przykładów importu zbiorczego, trzeba utworzyć tabela przykładowej, plik danych i plik formatu.

Przykładowa tabela

Przykłady wymagają, że tabela o nazwie myTestFormatFiles tabeli można utworzyć w AdventureWorks2008R2 przykładowej bazy danych pod dbo schematu.Aby utworzyć w tej tabela SQL Server Management Studio Edytor kwerend wykonać:

USE AdventureWorks2008R2;
GO
CREATE TABLE myTestFormatFiles (
   Col1 smallint,
   Col2 nvarchar(50),
   Col3 nvarchar(50),
   Col4 nvarchar(50)
   );
GO

Przykładowy plik danych

W przykładach wykorzystano przykładowy plik danych, myTestFormatFiles-c.Dat, który zawiera następujące rekordy.Aby utworzyć plik danych na Microsoft wiersz polecenia systemu Windows, wpisz:

10,Field2,Field3,Field4
15,Field2,Field3,Field4
46,Field2,Field3,Field4
58,Field2,Field3,Field4

Przykładowe pliki formatu

Niektóre przykłady w tej sekcji korzystają XML plik formatu, myTestFormatFiles-f-x-c.Xml, i inne przykłady używania innych niż XML plik formatu.Oba pliki formatu użyć znaku formatów danych i innych niż domyślne terminator pole (,).

Przykładowy plik formatu XML programu

W poniższym przykładzie użyto bcp do generowania XML plik formatu z myTestFormatFiles tabela.myTestFormatFiles.Fmt Plik zawiera następujące informacje:

9.0
4
1       SQLCHAR       0       7       ","      1     Col1         ""
2       SQLCHAR       0       100     ","      2     Col2         SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     ","      3     Col3         SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       100     "\r\n"   4     Col4         SQL_Latin1_General_CP1_CI_AS

Aby użyć bcp z format wprowadź opcję, aby utworzyć ten plik formatu, w wiersz polecenia systemu Windows:

bcp AdventureWorks2008R2..MyTestFormatFiles format nul -c -t, -f myTestFormatFiles.Fmt -T

Aby uzyskać więcej informacji na temat tworzenia plik formatu, zobacz Tworzenie pliku formatu.

Przykładowy plik formatu XML

W poniższym przykładzie użyto bcp utworzyć wygenerować XML plik formatu z myTestFormatFiles tabela.myTestFormatFiles.Fmt Plik zawiera następujące informacje:

<?xml version="1.0"?>
<BCPFORMAT xmlns="https://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="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="Col1" xsi:type="SQLSMALLINT"/>
  <COLUMN SOURCE="2" NAME="Col2" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="3" NAME="Col3" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="Col4" xsi:type="SQLNVARCHAR"/>
 </ROW>
</BCPFORMAT>

Aby użyć bcp z format wprowadź opcję, aby utworzyć ten plik formatu, w wiersz polecenia systemu Windows:

bcp AdventureWorks2008R2..MyTestFormatFiles format nul -c -t, -x -f myTestFormatFiles.Xml -T

Za pomocą bcp

W poniższym przykładzie użyto bcp do import zbiorczy danych z myTestFormatFiles-c.Dat pliku danych do HumanResources.myTestFormatFiles tabela w AdventureWorks2008R2 przykładowej bazy danych.W tym przykładzie użyto XML plik formatu, MyTestFormatFiles.Xml.Przykład usuwa wszystkie istniejące wiersze tabela przed zaimportowaniem pliku danych.

W wiersz polecenia systemu Windows należy wprowadzić:

bcp AdventureWorks2008R2..myTestFormatFiles in C:\myTestFormatFiles-c.Dat -f C:\myTestFormatFiles.Xml -T

Ostrzeżenie

Aby uzyskać więcej informacji na temat tego polecenia, zobacz Narzędzie bcp.

Za pomocą polecenia WSTAW luzem

W poniższym przykładzie użyto luzem WSTAW, aby import zbiorczy danych z myTestFormatFiles-c.Dat pliku danych do HumanResources.myTestFormatFiles tabela w AdventureWorks2008R2 przykładowej bazy danych.W tym przykładzie użyto innych niż XML plik formatu, MyTestFormatFiles.Fmt.Przykład usuwa wszystkie istniejące wiersze tabela przed zaimportowaniem pliku danych.

W SQL Server Management Studio Edytor kwerend wykonać:

USE AdventureWorks2008R2;
GO
DELETE myTestFormatFiles;
GO
BULK INSERT myTestFormatFiles 
   FROM 'C:\myTestFormatFiles-c.Dat' 
   WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt');
GO
SELECT * FROM myTestFormatFiles;
GO

Ostrzeżenie

Aby uzyskać więcej informacji dotyczących tej instrukcja, zobacz BULK INSERT (Transact-SQL).

Korzystanie z dostawcy OPENROWSET luzem wierszy

W poniższym przykładzie użyto INSERT ... SELECT * FROM OPENROWSET(BULK...) do import zbiorczy danych z myTestFormatFiles-c.Dat pliku danych do HumanResources.myTestFormatFiles tabela w AdventureWorks2008R2 przykładowej bazy danych.W tym przykładzie użyto XML plik formatu, MyTestFormatFiles.Xml.Przykład usuwa wszystkie istniejące wiersze tabela przed zaimportowaniem pliku danych.

W SQL Server Management Studio Edytor kwerend wykonać:

USE AdventureWorks2008R2;
DELETE myTestFormatFiles;
GO
INSERT INTO myTestFormatFiles
    SELECT *
      FROM  OPENROWSET(BULK  'C:\myTestFormatFiles-c.Dat',
      FORMATFILE='C:\myTestFormatFiles.Xml'     
      ) as t1 ;
GO
SELECT * FROM myTestFormatFiles;
GO

Po zakończeniu przykładową tabela, można usunąć go za pomocą następującej instrukcja:

DROP TABLE myTestFormatFiles

Ostrzeżenie

Aby uzyskać więcej informacji o klauzula OPENROWSET luzem, zobacz OPENROWSET (Transact-SQL).