我知道如何从DBMS_OUTPUT.GET_LINE()获取输出.
你可以参考http://oradim.blogspot.com.tr/2007/05/odpnet-tip-retrieving-dbmsoutput-text.html
在此页面上,使用ODP.Net也可以解释输出表单DBMS_OUTPUT.GET_LInes()方法.有没有办法只使用ADO.NET来管理它.
例如,如何从下面读取所有输出
begin declare stage number := 0; begin DBMS_OUTPUT.PUT_LINE('STARTING:'); INSERT INTO Country ( code,name) VALUES (1,'xxxx'); INSERT INTO City ( code,'yyyy'); DBMS_OUTPUT.PUT_LINE('DONE:'); COMMIT; EXCEPTION -- exception handlers begin WHEN OTHERS THEN -- handles all other errors DBMS_OUTPUT.PUT_LINE('Error occured,rollback...'); DBMS_OUTPUT.get_LINE(:1,:2); stage := -1; ROLLBACK; end; end;
输出应该是这样的:
STARTING DONE
using (OracleCommand cmd = cnn.CreateCommand()) { OracleParameter status = new OracleParameter(":1",OracleType.VarChar,32000); p_line.Direction = ParameterDirection.Output; OracleParameter line = new OracleParameter(":2",OracleType.Double); p_status.Direction = ParameterDirection.Output; cmd.CommandText = script; cmd.CommandType = CommandType.Text; cmd.Parameters.Add(status); cmd.Parameters.Add(line ); cmd.ExecuteNonQuery(); string status = status.Value.ToString(); string line = line.Value.ToString(); }
输出:
STARTING
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。