Конференция "Базы" » глюк или не глюк??? [D7, FB 2.0]
 
  • TheEd (27.01.11 10:21) [0]
    Господа мастера, может кто сталкивался, у меня до настоящего момента такого не наблюдалось но глюк престраннейший. Имеем: D7, FB2.0, fIBPlus 6.0.X. Создал базу, в ней ряд таблиц. Имеется 2 хранимые процедуры (p1 и p2), которые на основе входящих параметров и данных из таблиц формируют ряд выходных параметров. При этом ни p1, ни p2 данные не изменяют.
    На форме есть пара компонентов TFIBStoredProc (название по памяти пишу, могу ошибиться), которые связаны с p1 и p2 (с именами напр. spP1 и spP2).
    Так вот, если в программе вызываем:

     // 1-й вызов p1
     spP1.ParamByName('SomeInputParam1').AsInteger := SomeInt;
     spP1.ParamByName('SomeInputParam2').AsDate := SomeDate;
     spP1.Exec;
     
     // 2-й вызов p1
     spP1.ParamByName('SomeInputParam1').AsInteger := SomeInt;
     spP1.ParamByName('SomeInputParam2').AsDate := SomeDate;
     spP1.Exec;

     // ...


    то всё работает. Если же сделаем так:

     // 1-й вызов p1
     spP1.ParamByName('SomeInputParam1').AsInteger := SomeInt;
     spP1.ParamByName('SomeInputParam2').AsDate := SomeDate;
     spP1.Exec;
     
     // 1-й вызов p2
     spP2.ParamByName('SomeInputParam1').AsInteger := SomeInt;
     spP2.ParamByName('SomeInputParam2').AsDate := SomeDate;
     spP2.Exec;

     // 2-й вызов p1
     spP1.ParamByName('SomeInputParam1').AsInteger := SomeInt;
     spP1.ParamByName('SomeInputParam2').AsDate := SomeDate;
     spP1.Exec; // тут исключение !!!


    То что жирное вызывает исключение, причём это не исключение, вызванное из p2 на стороне сервера - в IBExpert запускаю эти процедуры в любой комбинации и количестве - всё работает без проблем.

    ps.: сломал сегодня всю голову, ночь провозился ничего так и не нашёл. Выручайте!
  • Ega23 © (27.01.11 10:38) [1]
    spP1.Close;  ?
  • TheEd (27.01.11 10:41) [2]
    to Ega23:
     Пробовал и так, результат тот же :((((
     Раньше кстати close никогда не делал - изменял входные параметры и делал Exec - всё всегда работало (см. пример 1)...
  • 12 © (27.01.11 10:43) [3]
    сессии commit делать

    а динамически создавать, разрушать при каждом запуске? Не говорю, что надо так и оставить, просто попробовать.
  • TheEd (27.01.11 11:20) [4]

    > сессии commit делать

    так используются быстрые транзакции...


    > а динамически создавать, разрушать

    попробую, но люблю до истины добираться - глючелло потом выплывет где-то ещё :(
  • а текст исключения хоть какой?
  • Johnmen © (28.01.11 14:29) [6]
    1. А что делают эти p1 и p2?
    2. Какое исключение? Дословно.
  • Anatoly Podgoretsky © (28.01.11 14:46) [7]

    > ps.: сломал сегодня всю голову, ночь провозился ничего так
    > и не нашёл. Выручайте!

    Тебе выручка не нужна, иначе бы привел подробную информацию.
  • Halt (28.01.11 15:30) [8]
    2 Anatoly Podgoretsky ©   (28.01.11 14:46) [7]

    Хотел бы ты, Толя, помочь - помог бы.
    По крайней мере, вопросы позадавал бы наводящие.
    Или привел ситуацию из личной практики.

    Но от тебя выручалки не дождешься.
    Никогда.
    По определению.

    Зачем ты здесь?
  • Johnmen © (28.01.11 15:54) [9]

    > Halt   (28.01.11 15:30) [8]
    >
    > Но от тебя выручалки не дождешься.
    > Никогда.

    Определенный контенгент спрашивающих - не дождется. И не только от него. Никогда.

    > Halt   (28.01.11 15:30) [8]
    > По определению.

    Где можно прочитать это определение? Ссылку, пожалуйста.
  • Плохиш © (28.01.11 16:03) [10]

    > По крайней мере, вопросы позадавал бы наводящие.

    Интересно кому помощь нужна?
    А пошли бы все партизаны с их дебилкозащитниками в долгое эротическое путешествие.
  • Anatoly Podgoretsky © (28.01.11 16:06) [11]
    Не наше дело задавать вопросы.
  • TheEd (04.04.11 15:44) [12]
    Сорри за долгое и глубокое молчание, но глюку я прибил, очень долгими танцами бубном :)
    Насколько помню, мозг вынес полностью, в результате переставил всё - делфю, ФИБы, переписал код с нуля, ничего не меняя по сути. И всё заработало.
  • Anatoly Podgoretsky © (05.04.11 13:58) [13]
    > TheEd  (04.04.2011 15:44:12)  [12]

    А надо было сразу менять компьютер.
 
Конференция "Базы" » глюк или не глюк??? [D7, FB 2.0]
Есть новые Нет новых   [134431   +15][b:0][p:0.001]