Atla veri alanı (SQL Server) için bir biçim dosyası kullanma
Veri dosyası, tablodaki sütun sayısından daha fazla alanlar içerebilir. Olmayan xml ve xml biçimi dosyaları 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 değiştirme açıklanmıştır.
[!NOT]
Toplu olarak kullanılabilir olmayan xml ya da xml biçimi dosyası veri dosyasını kullanarak tabloya almak bir bcpkomutu, bulk INSERT deyimi ya da Ekle... SEÇİN * openrowset(bulk...) from deyimi. Daha fazla bilgi için, bkz. (SQL Server) Veri Al toplu için bir biçim dosyası kullanma.
Örnek veri dosyası ve tablo
Değiştirilmiş biçimi dosyaları bu konudaki örneklerde aşağıdaki tablo ve veri dosyası üzerinde temel alır.
Örnek tablo
Örnek bir tablo ismi gerektirir myTestSkipFieldmahluk AdventureWorks2012örnek veritabanı altında dboşema. Bu tablo oluşturmak için Microsoft SQL Server Management Studiosorgu Düzenleyicisi aşağıdaki kodu çalıştırın:
USE AdventureWorks2012;
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 veri alma için myTestSkipField-c.datiçine myTestSkipFieldTablo biçimi dosyası aşağıdakileri yapmanız gerekir:
İlk sütuna, ilk veri alanı harita PersonID.
İkinci veri alanını atlayın.
Üçüncü veri alanını ikinci sütun, göster FirstName.
Dördüncü veri alanı için üçüncü sütun, göster LastName.
Diğer veri alanlarını için-xml biçimi dosyası
Aşağıdaki biçimi dosyası myTestSkipField.fmt, alanlar haritaları myTestSkipField-c.datsütunlar için myTestSkipFieldtablosu. Biçim dosyasını karakter veri biçimi 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 ExtraFieldBiçim dosyasını sütun.
myTestSkipField.fmtBiçimi aşağıdaki bilgileri içerir:
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 daha fazla bilgi için bkz: Olmayan xml biçimi dosyaları (SQL Server).
Örnekler
Aşağıdaki örnek INSERT ... SELECT * FROM OPENROWSET(BULK...)kullanarak myTestSkipField.fmtbiçimi dosyası. Örnek toplu ithalat myTestSkipField-c.datveri dosyası içine myTestSkipFieldtablosu. Örnek tablo ve veri dosyası oluşturmak için bkz: "Örnek veri dosyası ve tablo" Bu konunun önceki kısımlarında.
De SQL Server Management Studiosorgu Düzenleyicisi aşağıdaki kodu çalıştırın:
USE AdventureWorks2012;
GO
INSERT INTO myTestSkipField
SELECT *
FROM OPENROWSET(BULK 'C:\myTestSkipField-c.dat',
FORMATFILE='C:\myTestSkipField.fmt'
) AS t1;
GO
Diğer veri alanlarını için xml biçimi dosyası
Bu örnekte sunulan biçim dosyasını başka bir biçim dosyasını, temel myTestSkipField.xml, hangi kullandığı karakter veri biçimi boyunca ve alanları karşılık gelen sayı ve sipariş sütunları tam olarak myTestSkipFieldtablosu. Bu biçim dosyasının içeriğini görüntülemek için bkz: (SQL Server) biçimi dosyası oluşturma.
Aşağıdaki biçimi dosyası myTestSkipField.xml, alanlar haritaları myTestSkipField-c.datsütunlar için myTestSkipFieldtablosu. Biçim dosyasını karakter veri biçimi kullanır.
myTestSkipField.xmlBiçimi aşağıdaki bilgileri içerir:
<?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.Xmlbiçimi dosyası. Örnek toplu ithalat myTestSkipField-c.datveri dosyası içine myTestSkipFieldtablosu. Örnek tablo ve veri dosyası oluşturmak için bkz: "Örnek veri dosyası ve tablo" Bu konunun önceki kısımlarında.
De SQL Server Management Studiosorgu Düzenleyicisi aşağıdaki kodu çalıştırın:
USE AdventureWorks2012;
GO
INSERT INTO myTestSkipField
SELECT *
FROM OPENROWSET(BULK 'C:\myTestSkipField-c.dat',
FORMATFILE='C:\myTestSkipField.xml'
) AS t1;
GO
[!NOT]
xml şeması ve ek örnek xml biçimi dosyaları sözdizimi hakkında bilgi için xml biçimi dosyaları (SQL Server).
Ayrıca bkz.
Başvuru
Kavramlar
(SQL Server) tablo sütun Atla için bir biçim dosyası kullanma
Tablo Sütunlar veri dosyası alanlarını (SQL Server) eşlemek için bir biçim dosyası kullanma