首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

BULK INSERT 产生的异常没有赋值给@@error

2012-01-30 
BULK INSERT 产生的错误没有赋值给@@error ?declare@ErrNoint,@ErrMsgnvarchar(255),@strSQLnVARCHAR(1000

BULK INSERT 产生的错误没有赋值给@@error ?
declare   @ErrNo   int   ,
@ErrMsg   nvarchar(255)   ,
  @strSQL   nVARCHAR(1000)

BULK   INSERT   TempClock     from   'c:\aaa.txt '

set   @ErrNo   =   @@error
if   @ErrNo   >   0   select   @ErrMsg   =   description   from   master..sysmessages   where   error   =   @ErrNo
select   @ErrMsg  

我的   c:\aaa.txt   文件不存在,该返回“未能进行大容量插入。文件   'c:\aaa.txt '   不存在。”。但不会产生的错误赋值给@@error   。导致获取不到@ErrMsg   的信息。
该如何处理,请高手们帮忙解决!

[解决办法]
这种情况我都是预先判断该文件是否存在,然后再确定是否执行bulk insert的

declare @rowcount int
exec master.dbo.xp_cmdshell "dir aaa.txt "
set @rowcount=@@rowcount

if @rowcount <> 9
begin
set @ErrStr= 'Log日志不存在 '
end
else
begin
bulk insert table_Pqs from 'c:\aaa.txt '
end


[解决办法]
可以goto label:来处理

热点排行