powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ado.net и oracle user type
3 сообщений из 3, страница 1 из 1
ado.net и oracle user type
    #38980856
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть пакет в схеме, в нем определен тип.
Код: plsql
1.
2.
3.
4.
5.
CREATE OR REPLACE PACKAGE schema1.package1 is
TYPE UserType IS RECORD
(....)
function check(Pin varchar2) return UserType ;
END package1 ;


Приложение на c# подключается через другую схему(ей дан грант на функцию из schema1). Я пытаюсь через ado.net выполнить функцию check
...
Рейтинг: 0 / 0
ado.net и oracle user type
    #38980858
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 using (OracleConnection connection =new OracleConnection(db.Connection.ConnectionString))
            {
                connection.Open();
                using( OracleCommand command = new OracleCommand( "begin :rv=schema1.package1.check(:Pin); end;", connection ) )
                {
                    command.CommandType = CommandType.Text;
                    OracleParameter inputParam = new OracleParameter( "Pin", OracleDbType.Varchar2 );
                    inputParam.Value = "Moskow";
                    command.Parameters.Add( inputParam );
                    OracleParameter param = new OracleParameter( "rv", OracleDbType.Object, ParameterDirection.Output );
                    param.UdtTypeName = "schema1.package1.UserType";
                    param.Value = result;
                    command.Parameters.Add(param);
                    command.ExecuteNonQuery();
                }
            }


Выводит ошибку что такой тип отсутствует в системе
...
Рейтинг: 0 / 0
ado.net и oracle user type
    #38984552
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergei64_89
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 using (OracleConnection connection =new OracleConnection(db.Connection.ConnectionString))
            {
                connection.Open();
                using( OracleCommand command = new OracleCommand( "begin :rv=schema1.package1.check(:Pin); end;", connection ) )
                {
                    command.CommandType = CommandType.Text;
                    OracleParameter inputParam = new OracleParameter( "Pin", OracleDbType.Varchar2 );
                    inputParam.Value = "Moskow";
                    command.Parameters.Add( inputParam );
                    OracleParameter param = new OracleParameter( "rv", OracleDbType.Object, ParameterDirection.Output );
                    param.UdtTypeName = "schema1.package1.UserType";
                    param.Value = result;
                    command.Parameters.Add(param);
                    command.ExecuteNonQuery();
                }
            }


Выводит ошибку что такой тип отсутствует в системе Пакетные типы оракул не сподобился сделать доступными.
Только через CREATE TYPE
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ado.net и oracle user type
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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