Store Procedure 執行錯誤

2012年8月23日 星期四


今天遇到使用Oracle Store Procedrure會出現錯誤,但在Oracle SQL Developer管理工具執行是ok的,

在測試 Store Procedure過程中,遇到以下的錯誤訊息:
(1)ORA-01036: 變數名稱?號碼無效,因為參數前面多加一個@符號的緣故 oracle_command.Parameters.Add("@return_value", OracleType.VarChar, 3)
   解決之道:針對 SQL Server資料庫,執行預存程序時,參數前面要多加一個@符號,但 Oracle卻不需要,因此將@符號刪除,即可解決。

(2)ORA-06550: 第 1 行, 第 7 個欄位:
    PLS-00201: 識別字 'test_proc' 必須被宣告
    ORA-06550: 第 1 行, 第 7 個欄位:
    PL/SQL: Statement ignored
   解決之道:
   1. 賦予使用者有執行 test_proc預存程序的權限。
   2. 如果使用 test帳號建立 test_proc預存程序,而執行 test_proc預存程序的帳號為 test2,則 oracle_command.CommandText的內容要由 test_proc變成 test.test_proc。

參考來源:
http://blog.xuite.net/sugopili/computerblog/26446766-Oracle+%EF%BC%8D+Store+Procedure%E5%85%A5%E9%96%80

0 意見: