powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Oracle + как выполнить функцию из package
3 сообщений из 3, страница 1 из 1
Oracle + как выполнить функцию из package
    #33431089
есть функция FNC_HELLO в package MYPACK, у функции два параметра varchar2, как мне её вызвать? следующий код выдает exception...
на сервер функцию выкладывал следующим образом. запустил sqlplus и выполнил команду @filename.sql (в этом файле находился package, в какую базу этот package залился хз, но думаю что в базу по умолчанию MyDBDefault)
string connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST="
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=vm.pupsik.local)(PORT=1521)))"
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyDBDefault)));"
+ "User Id=login;Password=PaSoWsrd;DBA Privilege=SYSOPER;";

OracleConnection conn = null;
OracleDataReader dr = null;

try
{
conn = new OracleConnection(connectionString);
conn.Open();

OracleCommand cmd;

cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "MYPACK.FNC_HELLO";
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter oparam1 = cmd.Parameters.Add("Alex", OracleDbType.Varchar2);
OracleParameter oparam2 = cmd.Parameters.Add("Kinchev", OracleDbType.Varchar2);
oparam1.Direction = ParameterDirection.Input;
oparam2.Direction = ParameterDirection.Input;
dr = cmd.ExecuteReader();

}
в строке dr = = cmd.ExecuteReader(); валится ошибка + System.SystemException {"ORA-06550: Строка 1, столбец 7:\nPLS-00201: идентификатор 'FNC_HELLO' должен быть объявлен\nORA-06550: Строка 1, столбец 7:\nPL/SQL: Statement ignored"} System.SystemException
...
Рейтинг: 0 / 0
Oracle + как выполнить функцию из package
    #33431293
на сервере вот так вызывается без проблем
declare
p1 varchar2(32767);
p2 varchar2(32767);
res varchar2(32767);
begin
p1:='Alex';
p2:='Kinchev';
res := MYPACK.FNC_HELLO(p1, p2);
end;
...
Рейтинг: 0 / 0
Oracle + как выполнить функцию из package
    #33434582
NoviceDBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй выполнить вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
sqlplus /nolog
conn login/PaSoWsrd@MyDBDefault  as SYSOPER
declare
p1 varchar2( 32767 );
p2 varchar2( 32767 );
res varchar2( 32767 );
begin
p1:='Alex';
p2:='Kinchev';
res := MYPACK.FNC_HELLO(p1, p2);
end;
/
скорее всего получишь ту же самую ошибку
возможно у пользователя login нет прав для выполнения этой процедуры
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Oracle + как выполнить функцию из package
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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