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:来处理