C# 从.NET执行Oracle存储过程
我正在试着运行这个C代码 但我一直在 无效的SQL错误 我的存储过程代码非常简单C# 从.NET执行Oracle存储过程,c#,.net,oracle,C#,.net,Oracle,我正在试着运行这个C代码 但我一直在 无效的SQL错误 我的存储过程代码非常简单 CREATE OR REPLACE PROCEDURE GETEMPLOYEES1 AS BEGIN DBMS_OUTPUT.PUT_LINE('Welcome to FYICenter!'); END; 我可以使用CommandType=StoredProcedure正常运行它,但我需要执行用户输入的一些动态代码,通过CommandType=Text尝试替换DBMS\u输出,这对我来说是至关重
CREATE OR REPLACE PROCEDURE GETEMPLOYEES1
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Welcome to FYICenter!');
END;
我可以使用
CommandType=StoredProcedure
正常运行它,但我需要执行用户输入的一些动态代码,通过CommandType=Text
尝试替换DBMS\u输出,这对我来说是至关重要的代码>为null代码>,然后看看这是否有什么不同。我在连接上下文中计算,没有意义尝试输出文本,没有控制台。EXECUTE
是一个SQL*Plus命令。使用其中一个
CALL GETEMPLOYEES1()
或
此外,如果选择命令类型StoredProcedure,库将添加BEGIN。。。结束代码>内部为您提供
调用
在过程无参数时也需要空括号。是否需要额外的;在sql变量的末尾。即@“执行GETEMPLOYEES1();”;我刚刚尝试了字符串sql=@“callgetEmployees1()”;这很有效。我觉得很奇怪,因为我知道EXEC应该可以工作。你是对的,我可以通过call执行它,你知道当我们也将ref游标传递给proc时如何执行吗?
CALL GETEMPLOYEES1()
BEGIN GETEMPLOYEES1(); END;