Невозможно набрать oracle сохраненных профессионалов c, используя. Net EF (2.2) Шаблон репозитория ядра - PullRequest
0 голосов
/ 31 марта 2020

ORA-00900: неверный SQL оператор

Это ошибка, которую я получаю, когда пытаюсь вызвать хранимую процедуру (в Oracle) из моего API.

Я использую шаблон репозитория с платформой Entity. (EF Core 2.2)

Это мой вызов,

return FetchWithStoredProcedure("PROC_GETMYPROC",
     new OracleParameter("PARAM1", OracleDbType.Int32, ParameterDirection.Input) { Value = PageNo },
     new OracleParameter("PARAM2", OracleDbType.Int32,ParameterDirection.Input) { Value = PageSize },
     new OracleParameter("PARAM3", OracleDbType.Varchar2, 30, ParameterDirection.Input) { Value = SearchTerm },
     new OracleParameter("PARAM4", OracleDbType.Int32, ParameterDirection.InputOutput) { Value = TotalRows },
     new OracleParameter("PARAM5",OracleDbType.RefCursor, ParameterDirection.Output)
                     ).ToList();

Это мой метод FetchWithStoreProcedure

public IEnumerable<T> FetchWithStoredProcedure(string query, params object[] parameters)
{
    return _entities.Set<T>().FromSql(query, parameters);
}

И это исключение.

enter image description here

1 Ответ

0 голосов
/ 01 апреля 2020

Пожалуйста, попробуйте, как показано ниже

      return FetchWithStoredProcedure("BEGIN PROC_GETMYPROC(@PARAM1,@PARAM2,@PARAM3
       ,@PARAM4,@PARAM5); END",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...