小编Ben*_*Ben的帖子

带格式文件的批量插入(固定宽度) - 遇到意外的文件结尾

BULK INSERT [Alldlyinventory] 
   FROM     'C:\Users\Admin\Documents\2NobleEstates\DATA\Download\Output\test.txt' 
   WITH (FORMATFILE = 'C:\SQL Data\FormatFiles\test.xml');
Run Code Online (Sandbox Code Playgroud)

格式文件:

 <?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="CharFixed" LENGTH="8"     COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="2" xsi:type="CharFixed" LENGTH="7"     COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="3" xsi:type="CharFixed" LENGTH="4"     COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="4" xsi:type="CharFixed" LENGTH="1"     COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="5" xsi:type="CharFixed" LENGTH="10"     COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="DAY_NUMBER" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="2" NAME="LCBO_NO" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="3" NAME="LOCATION_NUMBER" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="LISTING_STATUS" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="5" NAME="QTY_ON_HAND" xsi:type="SQLNVARCHAR"/>
 </ROW>
</BCPFORMAT>
Run Code Online (Sandbox Code Playgroud)

但我在SQL Server 2014上收到以下错误:

消息4832,级别16,状态1,行1批量加载:在数据文件中遇到意外的文件结尾.消息7399,级别16,状态1,行1链接服务器"(null)"的OLE DB提供程序"BULK"报告错误.提供商未提供有关错误的任何信息.消息7330,级别16,状态2,行1无法从OLE DB提供程序"BULK"获取链接服务器"(null)"的行.

这是一个固定宽度导入.

示例txt:

2016032803170570371L 000000014
2016032803367430371L 000000013
2016032803403800371L 000000036 …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server bulkinsert bcp

5
推荐指数
1
解决办法
2670
查看次数

标签 统计

bcp ×1

bulkinsert ×1

sql-server ×1

t-sql ×1