[英]Execute Oracle stored procedure from .NET
我正在尝试运行此C#代码
string sql = @"EXECUTE GETEMPLOYEES1()";
OracleCommand cmd = new OracleCommand(sql, cnn);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
但我不断
无效的SQL错误
我的存储过程代码很简单
CREATE OR REPLACE PROCEDURE GETEMPLOYEES1
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Welcome to FYICenter!');
END;
我可以使用CommandType = StoredProcedure
正常运行它,但是我需要执行用户输入的一些动态代码,而对我来说至关重要的是通过CommandType = Text
来执行。
EXECUTE
是一个SQL * Plus命令。 使用任一
CALL GETEMPLOYEES1()
要么
BEGIN GETEMPLOYEES1(); END;
同样,如果您选择命令类型StoredProcedure,则库将添加BEGIN ... END;
内部为您服务。
当过程为无参数时, CALL
还需要用括号括起来。
尝试替换DBMS_OUTPUT.PUT_LINE('Welcome to FYICenter!');
null;
,看看是否有什么不同。 我假设在连接上下文中没有尝试输出文本的感觉,也没有控制台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.