开发者社区> 问答> 正文

从C#启动sqlcmd时如何检索错误?

我需要从C#应用程序运行存储过程。

我使用以下代码来做到这一点:

Process sqlcmdCall = new Process();
sqlcmdCall.StartInfo.FileName = "sqlcmd.exe";
sqlcmdCall.StartInfo.Arguments = "-S localhost\\SQLEXPRESS -d some_db -Q \":EXIT(sp_test)\""
sqlcmdCall.Start();
sqlcmdCall.WaitForExit();

调用完成后,从sqlcmdCall对象中,我当前获得的ExitCode为-100表示​​成功,退出代码为1(表示失败)(即缺少参数,存储的proc不存在等)。

展开
收起
心有灵_夕 2019-12-28 22:47:23 536 0
1 条回答
写回答
取消 提交回答
  • 如果尝试从c#调用存储过程,则需要使用ADO.Net,而不是通过命令行调用sqlcmd。在命名空间中查看SqlConnection和。SqlCommandSystem.Data.SqlClient

    通过调用存储过程后,SqlCommand您将能够捕获由存储过程引发的异常,如果需要的话,我们也会读取该过程的返回值。

    2019-12-28 22:47:40
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
SQL Sever迁移PG经验 立即下载
SQL Server 2017 立即下载