我无法让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有什么问题?
谢谢。