Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550: / 10 сообщений из 10, страница 1 из 1
16.07.2007, 17:48
    #34662176
222222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
Добрый день пытаюсь вызвать ф-цию, получаю ошибку
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.
                    OracleCommand cmd = new OracleCommand("History.PK_History.Insert_Events", ocMain);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("pEvent_Type_Id", OracleType.Number);
                    cmd.Parameters.Add("pYear", OracleType.Number);
                    cmd.Parameters.Add("pQuarter", OracleType.Number);
                    cmd.Parameters.Add("pUser_Id", OracleType.Number);
                    cmd.Parameters.Add("pParent_Id", OracleType.Number);
                    cmd.Parameters.Add("pBranch_Id", OracleType.Number);
                    cmd.Parameters.Add("pCopy_Id", OracleType.Number);

                    cmd.Parameters[0].Value = -1;
                    cmd.Parameters[1].Value = -1;
                    cmd.Parameters[2].Value = -1;
                    cmd.Parameters[3].Value = -1;
                    cmd.Parameters[4].Value = -1;
                    cmd.Parameters[5].Value = -1;
                    cmd.Parameters[6].Value = -1;

                    cmd.ExecuteNonQuery();

Спасибо
...
Рейтинг: 0 / 0
17.07.2007, 10:15
    #34663091
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
А процедура такая в пакете PK_History есть?
...
Рейтинг: 0 / 0
17.07.2007, 10:36
    #34663167
2222222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
Алымов АнатолийА процедура такая в пакете PK_History есть?

Конечно есть.
...
Рейтинг: 0 / 0
17.07.2007, 10:58
    #34663242
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
По синтаксису C# вроде всё верно. Скорее всего у вас не процедура, а функция
...
Рейтинг: 0 / 0
17.07.2007, 11:01
    #34663258
22222222222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
Алымов АнатолийПо синтаксису C# вроде всё верно. Скорее всего у вас не процедура, а функция

Это и есть ф-ция.
...
Рейтинг: 0 / 0
17.07.2007, 14:32
    #34664249
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
Сразу не обратил внимания - тогда нужно добавить параметр ReturnValue
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
25.07.2014, 15:45
    #38706123
RodeRebel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
У меня тоже самое проблема.
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));
...
Рейтинг: 0 / 0
25.07.2014, 17:54
    #38706278
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
RodeRebel,
поставь
Код: c#
1.
cmd.Parameters.Add(new OracleParameter("ERR", OracleDbType.Int32, retval, ParameterDirection.ReturnValue));


на первое место и будет тебе счастье!
P.S. И WID у тебя оутпут должен быть!
...
Рейтинг: 0 / 0
29.07.2014, 10:40
    #38707860
RodeRebel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
Спасибо ЕвгенийВ,
заработало, оказывается, такие ньюансы бывают ;)
...
Рейтинг: 0 / 0
29.07.2014, 11:02
    #38707885
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550:
RodeRebelСпасибо ЕвгенийВ,
заработало, оказывается, такие ньюансы бывают ;)
Тоже как то с часок с этим промучился...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов ф-ции Oracle System.Data.OracleClient.OracleException: ORA-06550: / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]