XML 形式のファイルを使用して CSV ファイルをインポートしていますが、最初のデータ行がスキップされます。理由がわかりません。
フォーマットファイル
<?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="CharTerm" TERMINATOR='","' />
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR='\n' />
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="COLUMN1" xsi:type="SQLVARYCHAR" />
<COLUMN SOURCE="2" NAME="COLUMN2" xsi:type="SQLVARYCHAR" />
</ROW>
</BCPFORMAT>
CSV
COLUMN1,COLUMN2
"ABC","ABC123456"
"TNT","TNT123456"
クエリ
SELECT *
FROM OPENROWSET(BULK 'C:\sample.csv',
FORMATFILE='C:\sample.xml',
FIRSTROW = 2) AS a
結果
COLUMN1 COLUMN2
------- ----------
"TNT TNT123456"
(1 row(s) affected)
FIRSTROW
を に変更する1
と、結果は次のようになります。
COLUMN1 COLUMN2
--------------------- ----------
COLUMN1,COLUMN2 "ABC ABC123456"
"TNT TNT123456"
ヘッダー行が CSV から削除され、にFIRSTROW
変更された1
場合、結果は期待どおりに返されます。
COLUMN1 COLUMN2
------- ----------
"ABC ABC123456"
"TNT TNT123456"
これはヘッダーと共に配信される自動レポートであるため、これを修正する他のオプションはありますか?