Aracılığıyla paylaş


biçim dosyası kullanarak bir veri alan Atla

Sütun sayısından daha çok alan içeren BIR veri dosyası tablo.Bu konu, olmayan XML hem de tablo sütunları için karşılık gelen veri alanlarını eşleme ve ek alanları yoksayılıyor tarafından daha fazla alan içeren bir veri dosyası için XML biçimi dosyaları değiştirme açıklar.

Not

Olmayan XML ya da XML biçimi dosyası için kullanılan olabilir toplu alma kullanarak tabloya veri dosyası bir Kullanımıbcp komutu, INSERT deyim TOPLU veya INSERT... SELECT * FROM OPENROWSET(BULK...) deyim.Daha fazla bilgi için bkz:Veri Al toplu işlemi için bir biçim dosyası'nı kullanma.

Örnek veri dosyası ve tablo

Bu konuda değiştirilmiş biçimi dosyaları örnekleri aşağıdaki tabloda ve veri dosyasını temel alır.

Örnek tablo

Örnekler, bir tablo adı gerektirir. myTestSkipField oluşturulmasını AdventureWorks Örnek Veritabanı'nın altında dbo Schema. To create this table, in Microsoft SQL Server Management Studio Query Editor, run the following code:

USE AdventureWorks;
GO
CREATE TABLE myTestSkipField 
   (
   PersonID smallint,
   FirstName nvarchar(50) ,
   LastName nvarchar(50) 
   )
GO

Örnek veri dosyası

Veri dosyası myTestSkipField-c.dat, aşağıdaki kayıtları içerir:

1,Skipme,DataField3,DataField4
1,Skipme,DataField3,DataField4
1,Skipme,DataField3,DataField4

Alma verileri toplu olarak myTestSkipField-c.dat içine myTestSkipField Tablo, biçim dosyası aşağıdakileri yapmalısınız:

  • Ilk veri alan için ilk eşleme sütun, PersonID.

  • Ikinci veri atla alan.

  • Üçüncü veri alanını ikinci sütun için eşleme FirstName.

  • Dördüncü veri alan için üçüncü sütunun, eşleme LastName.

Olmayan XML biçim dosyası ek veri alanları için

Aşağıdaki biçimi dosyası myTestSkipField.fmt, alanları eşleştirir. myTestSkipField-c.dat sütunları için myTestSkipField TABLO. biçim dosyası karakter veri biçimini kullanır.Bir sütun eşleme atlanıyor sütun sırası değerini 0 olarak değiştirmek için gösterilen gerektirir ExtraField sütunda biçim dosyası.

The myTestSkipField.fmt biçim dosyası contains the following information:

9.0
4
1       SQLCHAR       0       7       ","      1     PersonID               ""
2       SQLCHAR       0       100       ","    0     ExtraField             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     ","      2     FirstName              SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       100     "\r\n"   3     LastName               SQL_Latin1_General_CP1_CI_AS

Not

Dosya biçimlerini olmayan XML sözdizimi hakkında bilgi için bkz: Disk XML biçimi dosyaları anlama.

Örnekler

Aşağıdaki örnek kullanır. INSERT ... SELECT * FROM OPENROWSET(BULK...) kullanarak myTestSkipField.fmt Biçim dosyası'nı tıklatın. Örnek toplu alır myTestSkipField-c.dat uygulamasına veri dosyası myTestSkipField TABLO. Örnek tablo ve veri dosyası oluşturmak için , bu konunun önceki kısımlarında "Örnek veri dosyası ve tablo," konusuna bakın.

Içinde SQL Server Management Studio Sorgu Düzenleyicisi'nde, aşağıdaki kodu çalıştırın:

USE AdventureWorks;
GO
INSERT INTO myTestSkipField 
   SELECT *
      FROM  OPENROWSET(BULK  'C:\myTestSkipField-c.dat',
      FORMATFILE='C:\myTestSkipField.fmt'  
       ) AS t1;
GO 

XML biçim dosyası ek veri alanları için

biçim dosyası Bu sunulan üzerinde başka bir örneği temel alan biçim dosyası, myTestSkipField.xml, tüm karakter veri biçimi ve sayısını ve sütunlarda bir siparişe, tam olarak karşılık gelen alanları kullanır myTestSkipField TABLO. Bu biçim dosyasının içeriğini görüntülemek için bkz: Bir biçim dosyası oluşturuluyor.

Aşağıdaki biçimi dosyası myTestSkipField.xml, alanları eşleştirir. myTestSkipField-c.dat sütunları için myTestSkipField TABLO. biçim dosyası karakter veri biçimini kullanır.

The myTestSkipField.xml biçim dosyası contains the following information:

<?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="PersonID" xsi:type="SQLSMALLINT"/>
  <COLUMN SOURCE="3" NAME="FirstName" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="LastName" xsi:type="SQLNVARCHAR"/>
 </ROW>
</BCPFORMAT>

Örnekler

Aşağıdaki örnek kullanır. INSERT ... SELECT * FROM OPENROWSET(BULK...) kullanarak myTestSkipField.Xml Biçim dosyası'nı tıklatın. Örnek toplu alır myTestSkipField-c.dat uygulamasına veri dosyası myTestSkipField TABLO. Örnek tablo ve veri dosyası oluşturmak için , bu konunun önceki kısımlarında "Örnek veri dosyası ve tablo," konusuna bakın.

Içinde SQL Server Management Studio Sorgu Düzenleyicisi'nde, aşağıdaki kodu çalıştırın:

USE AdventureWorks;
GO
INSERT INTO myTestSkipField 
  SELECT *
      FROM  OPENROWSET(BULK  'C:\myTestSkipField-c.dat',
      FORMATFILE='C:\myTestSkipField.xml'  
       ) AS t1;
GO 

Not

XML şeması ve ek örnekler XML biçimi dosyalarının sözdizimi hakkında bilgi için XML biçimi dosyaları anlama.