|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
Добрый день пытаюсь вызвать ф-цию, получаю ошибку System.Data.OracleClient.OracleException: ORA-06550: line 1, column 7: PLS-00221: 'INSERT_EVENTS' is not a procedure or is undefined ORA-06550: line 1, column 7: PL/SQL: Statement ignored Подскажите, что не так написал? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2007, 17:48 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
А процедура такая в пакете PK_History есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2007, 10:15 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
Алымов АнатолийА процедура такая в пакете PK_History есть? Конечно есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2007, 10:36 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
По синтаксису C# вроде всё верно. Скорее всего у вас не процедура, а функция ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2007, 10:58 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
Алымов АнатолийПо синтаксису C# вроде всё верно. Скорее всего у вас не процедура, а функция Это и есть ф-ция. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2007, 11:01 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
Сразу не обратил внимания - тогда нужно добавить параметр ReturnValue ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2007, 14:32 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
У меня тоже самое проблема. 1) Не добавлю новый параметр, получаю: PLS-00221: 'DOC_TEK' is not a procedure or is undefined 2) Добавлю новый параметр, получаю: PLS-00306: ошибочно число или типы аргументов при обращении к 'DOC_TEK' 3) Сделаю один из Output Integer параметров Direction=ReturnValue, получаю: PLS-00306: ошибочно число или типы аргументов при обращении к 'DOC_TEK' Есть функция 'DOC_TEK' 17 аргументов (15 input + 2 output), если я еще добавлю 1 параметр на OracleCommand то количество параметров = 18 (ошибка 2), если при 17 параметров одному из них дирекшн поменяю на ReturnValue то, это типа 16 параметров (ошибка 3). Не могу найти как ввести параметр чтобы получать ReturnValue, тот момент чтобы количество и формат параметров функции не пострадало... ... Фрагмент кода CREATE OR REPLACE FUNCTION Doc_Tek( WCommit INTEGER, WLang INTEGER, WUSER NUMBER, WID_DEBET NUMBER, WID_CREDIT NUMBER, WID_MFO NUMBER, WSUM NUMBER, WVIP NUMBER, WTYPE INTEGER, WNDOC VARCHAR2, WTORG NUMBER, WNazPla VARCHAR2, WCheck INTEGER, WDate_doc DATE, WCOR_ACC VARCHAR2, WID OUT NUMBER, Soob OUT VARCHAR2) RETURN INTEGER IS Exit_Proc EXCEPTION; WOS_TEK_C SP_ACCMN.AC_TEK%TYPE; wDate DATE; wDatePR DATE; i INTEGER; BEGIN .... public static Int32 ExecuteProc(string procname, List<string> paramlist, List<object> valuelist, out List<object> retlist, out string errstr) { ... Фрагмент кода cmd.Parameters.Add(new OracleParameter("WCommit", OracleDbType.Int16, valuelist[0], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WLang", OracleDbType.Int16, valuelist[1], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WUSER", OracleDbType.Int16, valuelist[2], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WID_DEBET", OracleDbType.Int32, valuelist[3], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WID_CREDIT", OracleDbType.Int32, valuelist[4], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WID_MFO", OracleDbType.Int32, valuelist[5], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WSUM", OracleDbType.Decimal, valuelist[6], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WVIP", OracleDbType.Int16, valuelist[7], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WTYPE", OracleDbType.Int16, valuelist[8], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WNDOC", OracleDbType.Varchar2, valuelist[9], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WTORG", OracleDbType.Int16, valuelist[10], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WNazPla", OracleDbType.Varchar2, valuelist[11], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WCheck", OracleDbType.Int16, valuelist[12], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WDate_doc", OracleDbType.Date, valuelist[13], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WCOR_ACC", OracleDbType.Varchar2, valuelist[14], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("WID", OracleDbType.Int32, valuelist[15], ParameterDirection.Input)); cmd.Parameters.Add(new OracleParameter("Soob", OracleDbType.Varchar2, valuelist[16], ParameterDirection.Output)); //cmd.Parameters.Add(new OracleParameter("ERR", OracleDbType.Int32, retval, ParameterDirection.ReturnValue)); ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2014, 15:45 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
RodeRebel, поставь Код: c# 1.
на первое место и будет тебе счастье! P.S. И WID у тебя оутпут должен быть! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2014, 17:54 |
|
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
|
|||
---|---|---|---|
#18+
Спасибо ЕвгенийВ, заработало, оказывается, такие ньюансы бывают ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 10:40 |
|
|
start [/forum/topic.php?fid=20&msg=34663091&tid=1402665]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 164ms |
0 / 0 |