如何解决System.Data.SqlClient将存储过程中的SQL Server PRINT语句与RAISERROR消息连接在一起
我相当简单的存储过程在第44行上完成了此操作
IF @a = @b
RAISERROR('blah blah blah',11,1)
RETURN
使用.NET Framework System.Data.sqlClient
库在客户端调用存储过程:
try
{
sqlCommand c = new sqlCommand();
c.CommandType = CommandType.StoredProcedure;
c.CommandText = "procname";
c.ExecuteNonQuery() // execute the stored procedure
}
catch(sqlException sex)
throw sex;
catch(Exception ex)
{
throw ex;
}
捕获ex
时,其值为blah blah blah
+ CRLF + 1259
1259
来自哪里?它对应于严重性11吗?
解决方法
啊哈!刚发现。在RAISERROR上方的几行中有一个PRINT
语句。不知道(无关)PRINT语句会附加到错误消息!
PRINT 'Fee fie fo fum'
<snip>
if @a = @b
RAISERROR('blah blah blah',11,1)
return
客户端的SqlException消息属性是“等等等等” + CRLF +“费用当即”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。