Atla veri alanı için bir biçim dosyası kullanma
Sütun sayısı daha fazla alan içeren bir veri dosyası tablo.Bu konuda hem xml hem de daha fazla alan içeren bir veri dosyası için karşılık gelen veri alanları tablo sütunları eşleme ve ek alanları yoksayılıyor için xml biçimi dosyaları değiştirme açıklanmaktadır.
Not
-xml ya da xml biçimi dosyası toplu olarak kullanılabilir bir veri dosyasına almak tablo kullanarak bir bcp deyim, bulk INSERT komutunu veya Ekle...SEÇİN * ndan openrowset(bulk...) deyim.Daha fazla bilgi için bkz: Veri Al toplu için bir biçim dosyası kullanma.
Örnek veri dosyası ve tablo
Bu konudaki değiştirilmiş biçimi dosyaları örnekleri aşağıdaki tablo ve veri dosyası üzerinde temel alır.
Örnek tablo
Örnek bir tablo taşıyan bir iste myTestSkipField oluşturulmasını AdventureWorks örnek veritabanı altında dbo şema.To create this table, in Microsoft SQL Server Management Studio Query Editor, run the following code:
USE AdventureWorks2008R2;
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
Toplu alma verileri için myTestSkipField-c.dat içine myTestSkipField tablo, biçim dosyasını aşağıdakileri yapmanız gerekir:
İlk veri alan eşlemek için ilk sütun, PersonID.
İkinci veri atla alan.
Üçüncü veri eşleme alan ikinci sütuna, FirstName.
Dördüncü veri alan eşlemek için üçüncü sütun, LastName.
Daha fazla veri alanı için-xml biçimi dosyası
Aşağıdaki biçim dosyası myTestSkipField.fmt, eşler alanlarında myTestSkipField-c.dat sütunlar için myTestSkipField tablo.Karakter veri biçimi biçim dosyası kullanır.Bir sütun eşleme atlama gerektirir sütun sipariş değeri 0 olarak değiştirmek için gösterildiği gibi ExtraField sütununda biçim dosyası.
The myTestSkipField.fmt format file 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
Olmayan xml biçimi dosyaları sözdizimi hakkında bilgi için bkz: Olmayan xml biçimi dosyaları anlama.
Örnekler
Aşağıdaki örnek INSERT ... SELECT * FROM OPENROWSET(BULK...) kullanarak myTestSkipField.fmt biçim dosyası.Örnek toplu alır myTestSkipField-c.dat veri dosyası içine myTestSkipField tablo.Örnek tablo ve veri dosyası oluşturmak için "Örnek veri dosyası ve tablo," konusuna bakın. Bu konunun önceki kısımlarında.
De SQL Server Management Studio sorgu düzenleyicisinde aşağıdaki kodu çalıştırın:
USE AdventureWorks2008R2;
GO
INSERT INTO myTestSkipField
SELECT *
FROM OPENROWSET(BULK 'C:\myTestSkipField-c.dat',
FORMATFILE='C:\myTestSkipField.fmt'
) AS t1;
GO
Daha fazla veri alanı için xml biçimi dosyası
Başka biçim dosyası, bu örnekte sunulan biçim dosyası temel alan myTestSkipField.xml, hangi karakter boyunca veri biçimini kullanır ve alanları karşılık gelen sıra sütunlara ve içinde tam olarak myTestSkipField tablo.Bu içeriği görüntülemek için biçim dosyası, bkz: Bir biçim dosyası oluşturuluyor.
Aşağıdaki biçim dosyası myTestSkipField.xml, eşler alanlarında myTestSkipField-c.dat sütunlar için myTestSkipField tablo.Karakter veri biçimi biçim dosyası kullanır.
The myTestSkipField.xml format file 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 INSERT ... SELECT * FROM OPENROWSET(BULK...) kullanarak myTestSkipField.Xml biçim dosyası.Örnek toplu alır myTestSkipField-c.dat veri dosyası içine myTestSkipField tablo.Örnek tablo ve veri dosyası oluşturmak için "Örnek veri dosyası ve tablo," konusuna bakın. Bu konunun önceki kısımlarında.
De SQL Server Management Studio sorgu düzenleyicisinde aşağıdaki kodu çalıştırın:
USE AdventureWorks2008R2;
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ı sözdizimi hakkında bilgi için bkz: xml biçimi dosyaları anlama.