Показать сообщение отдельно
Старый 03.09.2003, 11:00   #7  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Получаю следующее сообщение:

Error Сообщение (17:47:22) Невозможно выбрать запись в '' ('')
База данных SQL обнаружила ошибку.
Info Сообщение (17:47:22) Описание ошибки SQL: ORA-24333: zero iteration сount
Info Сообщение (17:47:22) Оператор SQL: call axuser.bocTest01(5);
Что я делаю не так?
Все очень просто - DSV сказал очень важную фразу:

PHP код:
Ну нет в оракле селективных процедурНЕТУ!!! 
Посему, вот это выражение тоже не имеет смысла:

PHP код:
resultSet stmt.executeQuery(sqlS); 
Ну ничего Вам оттуда не вернется !!! А делать надо так:

PHP код:
  stmt.executeUpdate(sqlS); 
Честно говоря самому стало интересно - вот пошаговый tutorial:

Создаем табличку в БД:
PHP код:
create table Test (
id int); 
Пишем процедуру:
PHP код:
create or replace procedure TestProcedure(p_id int)
as
begin
  insert into Test
(idvalues(p_id);
  
commit;
end
Пробуем:
PHP код:
call TestProcedure(3); 
Проверяем:
PHP код:
select from Test
- Все работает.

Теперь подключаем к этому делу Аксапту:
PHP код:
static void OracleSP(Args _args)
{
    
Connection  connection;
    
Statement   stmt;
    
str         sqlS;
    ;

    
connection = new Connection();
    
stmt connection.createStatement();

    
sqlS 'call TestProcedure(5)';

    
stmt.executeUpdate(sqlS);
}

   
Запускаем.  Лезем в табличку Test и видимчто там появилась 5-качто свидетельствует о томчто процедура была вызвана