bulk insert 时,数据文件unicode格式报错
yan63 2005-07-06 03:26:07 数据文件:
1#sep#XXX#sep#XXX#sep#XXX#sep#XXX
19#sep#XXX#sep#XXX#sep#XXX#sep#XXX
(XXX)表示字符串
格式文件:
8.0
5
1 SQLINT 0 4 "#sep#" 1 admin_id ""
2 SQLCHAR 0 10 "#sep#" 3 adminname ""
3 SQLCHAR 0 50 "#sep#" 4 email ""
4 SQLCHAR 0 100 "#sep#" 5 telephone ""
5 SQLCHAR 0 100 "\r\n" 6 address ""
use model
BULK INSERT model..adminX FROM 'C:\DataImport\admin.txt'
WITH (
DATAFILETYPE = 'widechar',
FIELDTERMINATOR = '#sep#',
FORMATFILE = 'D:\DataSetReverse\DataImportRule\Format.fmt',
ROWTERMINATOR = '\n',
KEEPNULLS,
TABLOCK
)
表结构:
CREATE TABLE [adminX] (
[admin_id] [int] NULL ,
[userid] [bigint] NULL ,
[adminname] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[e_mail] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[telephone] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[address] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
错误信息:
服务器: 消息 4832,级别 16,状态 1,行 1
大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'STREAM' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'STREAM' IRowset::GetNextRows returned 0x80004005: 提供程序未给出有关错误的任何信息。]。
语句已终止。
若是将数据文件改为ansi格式,则第一列数据变为:
1702044465 ......
1931688241 ......
恳请不吝赐教,谢过先