powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В чем может быть проблема при ORA-01008 not all variables bound
12 сообщений из 12, страница 1 из 1
В чем может быть проблема при ORA-01008 not all variables bound
    #32887113
M. B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка:
ORA-01008 not all variables bound

Cause: A SQL statement containing substitution variables was executed without all variables bound. All substitution variables must have a substituted value before the SQL statement is executed.

при вызове хранимой продуры (точнее функции)
begin
:ret := func1( :par1, :par2 );
end;

все 3 переменные до этого объявлены
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #32887121
M. B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что значит должны быть связаны?
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #32887132
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откуда вызываешь? Как в твоём понимании выглядит "объявление" переменных?
С понятием bind-переменных вообще знаком?
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #32887165
M. B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вызываю из Дельфы
Объявлены - значит есть в секции declare
вот про бинд подробнее хотелось бы
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #32887273
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M. B.Вызываю из ДельфыБиблиотека доступа к Oracle-у? Компонент?
M. B.Объявлены - значит есть в секции declareВ Delphi нет секции declare :)
M. B.вот про бинд подробнее хотелось быВсё, что предваряется двоеточием, и есть bind-переменные. Их надо связывать с переменными в программе. В Delphi это обычно делается посредством Params.
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #32887357
M. B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую DOA 3.4.2
Объявлены методом DeclareVariable

Фишка в том что здесь :ret типа otCursor (курсор), и вот конкретно на эту
ф-цию он и ругается - остальные процедуры работают без всякого бинда,
т.е. при вызове proc1(:par1,:par2) где параметры не являются курсором - все ОК
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #32887374
M. B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неправильно выразился - т.е. я и использую бинд-переменные как раз, но вот в случае с возвратом курсора - ошибка
может я функцию как-то не так вызываю, хотя синтаксис вроде правильный
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
В чем может быть проблема при ORA-01008 not all variables bound
    #35509465
Zinger Der GOD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имел такую же проблему в FORMS 6. Не видела и все... Причем достаточно рандомно. Тоесть - два record_group, обе одинаковые, одна пашет, другая нет.. с этим сообщением..
Тоже с процедурами..
Решилось все очень просто:
NVL(:МОЕ_ЗНАЧЕНИЕ_КАКОЕТО,'любое_значение_на_случай_NULL')...

Бился очень долго..
В функциях шел возврат из функции в виде TABLE OF VARCHAR2(4000), и он использовался в IN в другом селекте. Выходило, что ничего не выходило...
поставил NVL и все потекло..

ЗЫ если вдруг кому поможет...
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #35548773
РысЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
господа, у меня примерно та же проблема...

Код: plaintext
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.
33.
34.
35.
36.
37.
38.
39.
      dochash := getdocumenthash( doc );

      begin
         select commentary
         into   lbl
         from   supermag.smdatedocs
         where  id = doc.docid;
      exception
         when others then
            lbl := '';
      end;

      docid := doc.docid;
      locid := doc.locid;
      locname := doc.locname;
      createdat := doc.createdat;
      fc := doc.fc;
      headerinserttext :=
            'insert into exchange.'
         || doctable
         || 'h '
         || '           ( '
         || '             id, name, docnr, docdate, '
         || ( case doc.doctype
                when 'WI' then 'clientfcode, '
                when 'OR' then 'labels, '
                else ''
             end )
         || '              checksum'
         || '            ) '
         || '    values ( '
         || '             :locid, :locname, :docid, :createdat, '
         || ( case doc.doctype
                when 'WI' then ' :fc, '
                when 'OR' then ' :lbl, '
                else ''
             end )
         || '              :dochash)';

      execute immediate headerinserttext;
Все переменные задекларированы... пытался и так как указано, пытался и прмой подстановкой переменных с помощью using. В любом случае получаю ORA-01008
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
В чем может быть проблема при ORA-01008 not all variables bound
    #37734961
TopCore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто продолжает сталкиваться с такой проблемой в Delphi 7 , то можете проверить, в каком месте Вы объявляете свои переменные для процедуры: это нужно делать после того, как Вы добавили SQL , например, в OracleQuery .
Пример:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with OracleQuery1 do begin
  SQL.Add('BEGIN' +
          '  SomePackage.SomeProcedure(:veriable1, :veriable2);' +
          'END;');
  DeclareVariable('veriable1', otInteger);
  DeclareVariable('veriable2', otString);
  SetVeriable('veriable1', 12345);
  SetVeriable('veriable2', '12345');
  Execute;
end;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
В чем может быть проблема при ORA-01008 not all variables bound
    #39519948
PL SQL Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай напишу,
вдруг пригодится кому

Oracle supportDescription
This bug is only relevant when using Partitioned Tables
A Select query on composite partition with bind variables may fail with
"ORA-1008: not all variables bound".

Rediscovery Notes
If a select query on composite partitioned table with bind variables
fails with an unexpected ORA-604 and "ORA-1008 not all variables bound"
error then you might be encountering this bug.

Workaround
The following may help avoid the problem:
1. alter session set "_and_pruning_enabled"=false;
2. alter session set "_subquery_pruning_enabled"=false;
3. alter session set "_optimizer_table_expansion"=false;
...
Рейтинг: 0 / 0
В чем может быть проблема при ORA-01008 not all variables bound
    #39575693
xx77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще как пригодилось! Спасибо тебе большое, добрый человек! :)
Давеча словил тут ora-1008 внутри процедуры, где явных переменных привязки не было, только пакетные переменные. Таблицы с композитным секционированием. Ворк эраунд магически помог!
PL SQL НовичокНа всякий случай напишу,
вдруг пригодится кому

Oracle supportDescription
This bug is only relevant when using Partitioned Tables
A Select query on composite partition with bind variables may fail with
"ORA-1008: not all variables bound".

Rediscovery Notes
If a select query on composite partitioned table with bind variables
fails with an unexpected ORA-604 and "ORA-1008 not all variables bound"
error then you might be encountering this bug.

Workaround
The following may help avoid the problem:
1. alter session set "_and_pruning_enabled"=false;
2. alter session set "_subquery_pruning_enabled"=false;
3. alter session set "_optimizer_table_expansion"=false;
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В чем может быть проблема при ORA-01008 not all variables bound
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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