powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вызов функции ODP.NET
1 сообщений из 1, страница 1 из 1
Вызов функции ODP.NET
    #38660035
egorius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
До этого работал с OracleClient и все было хорошо. Перешел на ODP.NET. Все продолжает работать хорошо за одним исключением - не могу вызвать оракловую функцию. Вот код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public static string ExecuteFunction(string Command, string DB)
        {
            string error = "ok";
            string ConnStr = System.Configuration.ConfigurationManager.ConnectionStrings[DB].ConnectionString;
            using (OracleConnection conn = new OracleConnection(ConnStr))
            {
                OracleCommand cmd = conn.CreateCommand();
                cmd.CommandText = Command; //Command = U$MSG_V2_PARAMETERS.SET#USER_NAME(30676)
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Clear();
                cmd.BindByName = true;
                OracleParameter Response = new OracleParameter("Response", OracleDbType.Varchar2);
                Response.Direction = ParameterDirection.ReturnValue;
                cmd.Parameters.Add(Response);
                conn.Open();
                try
                {
                    cmd.ExecuteNonQuery();
                    error = Response.Value.ToString();
                }
                catch (OracleException e)
                {
                    error = e.Message;
                }
                catch (Exception e)
                {
                    error = e.Message;
                }

            }
            return error;
        }



Объявление функции:
Код: plsql
1.
2.
3.
4.
5.
6.
CREATE OR REPLACE PACKAGE u$msg_v2_parameters
IS
function SET#USER_NAME (
  group_id in INTEGER
) RETURN NVARCHAR2;
END U$MSG_V2_PARAMETERS;



На cmd.ExecuteNonQuery(); получаю исключение:
Код: plsql
1.
2.
3.
4.
ORA-06550: Строка 1, столбец 15:
PLS-00224: для использов. подобным образом, объект 'U$MSG_V2_PARAMETERS.CLR#USER_NAME' д.б. типа функции или массива
ORA-06550: Строка 1, столбец 7:
PL/SQL: Statement ignored



В чем проблема - не пойму :(
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вызов функции ODP.NET
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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