我需要从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不存在等)。
如果尝试从c#调用存储过程,则需要使用ADO.Net,而不是通过命令行调用sqlcmd。在命名空间中查看SqlConnection和。SqlCommandSystem.Data.SqlClient
通过调用存储过程后,SqlCommand您将能够捕获由存储过程引发的异常,如果需要的话,我们也会读取该过程的返回值。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。