[英]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.