私はあなたが言っているのを聞くことができます:それでは、それほど単純ではありませんね.
ここにテーブルがあります:
CREATE TABLE [bulkimport].[Test](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Data] [nvarchar](50) NULL,
CONSTRAINT [PK_Test_1] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
tsql は次のとおりです。
TRUNCATE TABLE bulkimport.Test
BULK INSERT bulkimport.Test
FROM 'D:\Referenzliste_VKnr.csv'
WITH (
FORMATFILE='D:\VKnrImport.xml',
CODEPAGE=28591,
ERRORFILE='D:\VKnrImportError.txt'
)
私の構成ファイルは次のようになります。
<?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="\r\n" COLLATION="SQL_Latin1_General_CP1_CI_AS" />
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="Data" LENGTH="50" xsi:type="SQLNVARCHAR" />
</ROW>
</BCPFORMAT>
最後に、データからの抜粋:
18
26
34
42
59
67
75
83
91
109
117
125
133
各行の後にキャリッジ リターン ライン フィードがあり、最後に 1 行の空行が残ります。SQL Server 2012 を使用して、csv ファイルの各エントリに対して NULL を取得します。