使用带有格式文件的bcp从csv批量导入MS-SQL

时间:2016-02-22 13:02:53

标签: sql-server xml csv format bcp

我无法让bcp从csv文件导入数据。我已经缩小了问题,使其与格式文件有关。我怀疑这可能是一个配置错误,但我无法弄清楚我错在哪里。

我的桌子是XXX.dbo.test,有一个名为' banana'的VARCHAR(50)列。

我的data.csv文件包含四行:

aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
ddddddddddddd

其中换行符是CR-LF。

我的格式文件是xml格式,名为format.xml,包含:

<?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="CharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="50" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="banana" xsi:type="SQLVARYCHAR"/>
 </ROW>
</BCPFORMAT>

当我跑步时

bcp XXX.dbo.test in data.csv -c -T -S myserver,port

结果是

Starting copy...

4 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 109    Average : (36.70 rows per sec.)

这很好。

如果我改为运行

bcp XXX.dbo.test in data.csv -f format.xml -T -S myserver,port

结果是

Starting copy...

0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 16

我的format.xml有什么问题?

谢谢。

0 个答案:

没有答案