Sql server 使用带格式文件的bcp从csv批量导入MS-SQL
我无法让bcp从csv文件导入数据。我已经缩小了问题的范围,以便与格式化文件有关。我怀疑这可能是一个错误的配置,但我不知道我到底错在哪里 我的表是XXX.dbo.test,有一个名为“banana”的VARCHAR(50)列 My data.csv文件包含四行:Sql server 使用带格式文件的bcp从csv批量导入MS-SQL,sql-server,xml,csv,format,bcp,Sql Server,Xml,Csv,Format,Bcp,我无法让bcp从csv文件导入数据。我已经缩小了问题的范围,以便与格式化文件有关。我怀疑这可能是一个错误的配置,但我不知道我到底错在哪里 我的表是XXX.dbo.test,有一个名为“banana”的VARCHAR(50)列 My data.csv文件包含四行: aaaaaaaaaaaaa bbbbbbbbbbbbb ccccccccccccc ddddddddddddd 其中换行符为CR-LF 我的格式文件为xml格式,名为format.xml,包含: <?xml version="1
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>
结果是
Starting copy...
4 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 109 Average : (36.70 rows per sec.)
Starting copy...
0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 16
所以这很好
如果我跑了
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有什么问题
谢谢。在第一眼看到的时候有一个打字错误:
xsi:type=“SQLVARYCHAR”
。我不知道数据类型VARYCHAR…感谢您的评论(和编辑!)。我已经使用bcp的格式选项生成了xml文件,所以它应该是正确的。更多信息(向下滚动75%):。我已经通过将SQLVARYCHAR更改为XXX进行了验证,这给了我一个错误:SQLState=HY000,NativeError=0 error=[Microsoft][SQL Server Native Client 10.0][SQL Server]属性xsi:type的值在xml格式文件中对于第7行第62列的字段不正确。使用其他字符类型,bcp仍然只会告诉我已导入0行。