Эта проблема сводила меня с ума уже больше суток.Я могу создать соединение с базой данных, я могу выполнить sql и вернуть результаты из этого, но я не могу вызвать хранимую процедуру.Вот код
Dim myCMD As New OracleCommand
Dim TheDataReader as New OracleDataReader
myConnection1.Open()
myCMD.Connection = myConnection1
myCMD.CommandType = CommandType.StoredProcedure
myCMD.CommandText = "WS_DATA_LAYER.select_user_groups"
myCMD.Parameters.Add(New OracleParameter("id_user", OracleDbType.VarChar2)).Value = "TXA"
myCMD.Parameters.Add(New OracleParameter("ws_rs", OracleDbType.RefCursor)).Direction = ParameterDirection.Output
' Tried every single execute function here and none have worked
' Either error is thrown or empty refcursor
myCMD.ExecuteScalar()
TheDataReader = myCMD.Parameters(1).Value().GetDataReader()
Проблема лежит в ExecuteScalar на данный момент.Выдает исключение под названием «Входная строка была не в правильном формате».Я попытался передать строку с одинарными кавычками Oracle и получить то же самое.Если я использую
TheDataReader = myCMD.ExecuteQuery()
, все работает нормально, но результаты не возвращаются.Я проверил, что процедура возвращает результаты для пользователя, вошедшего в систему как.Когда запрос выполнялся, я мог видеть рефкурсор там, но он был пуст.Я, должно быть, схожу с ума.
Любая помощь приветствуется