powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9.0.2.2451 и где- то ранее Invalid Statement
4 сообщений из 4, страница 1 из 1
ASA 9.0.2.2451 и где- то ранее Invalid Statement
    #32860562
Время от времени выдается Invalid Statement на все подряд.
Помогает перезагрузка сервера
Мои подозрения - сваливается Кеш компилированных процедур
Однажды проявление было регулярным (ASA 8) пришлось процедуру ( truncate, unload table, load table для перегрузки данных между базами) перезаписывать перед каждым исполнением .

Как с этим бороться?
...
Рейтинг: 0 / 0
ASA 9.0.2.2451 и где- то ранее Invalid Statement
    #32860854
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте после каждой операции в ХП поставить COMMIT, возможно дурака валяет LOAD (бывали такие случаи на частых операциях его использования). Насчет кэша хранимых процедур - я знаю только баг, связанный с использованием ХП в запросах - если процедура перекладывается в план запроса, в котором она участвует (т.е имеет только IN параметры и только запрос в теле), то изменение запроса такой процедуры может привести к тому, что при попытке ее использования в запросах других ХП будет генериться ошибка на несуществующие поля, хотя через CALL она будет прекрасно вызываться. Судя по всему, вызывающая ХП висит в кэше вместе с планом запроса, в который включен план запроса вызываемой ХП и при ее изменении план вызываемой ХП сбрасывается, а вот вызывающей остается, что и приводит к тому, что он является не актуальным. По идее надо бы им этот баг выложить, благо и сгенерить тестовый вариант недолго, просто времени нет дойти до их CASE.

Могу прямо на вскидку привести код, вызывающий ошибку на всех версиях 9-ки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
CREATE TABLE _t_Test (
  id int NOT NULL PRIMARY KEY,
  value int NOT NULL
);

INSERT INTO _t_Test (id, value) VALUES ( 1 ,  100 );

CREATE PROCEDURE _p_Test1 ()
BEGIN
  SELECT *
  FROM _t_Test;
END;

CREATE PROCEDURE _p_Test2 ()
BEGIN
  SELECT *
  FROM _p_Test1 ();
END;

SELECT *
FROM _p_Test2 ();
Здесь все выдается правильно. Далее меняем процедуру и выполняем снова запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ALTER PROCEDURE _p_Test1 ()
BEGIN
  SELECT id AS id1
  FROM _t_Test;
END;

SELECT *
FROM _p_Test2 ();
ISQLCould not execute statement.
Список выбора для производной таблицы '_p_Test2' не содержит выражения,
совпадающего с 'value'
SQLCODE=-812, ODBC 3 State="42000"
Line 1, column 1
Если бы я не изменил колонки в запросе процедуры, а например просто добавил ORDER BY или WHERE, то ошибки бы не возвращалось и новый план был бы правильным. Из чего следует сделать вывод, что баг у них именно спотыкается на кол-ве и именах колонок, возвращаемых запросом из ХП.

Теперь удаляем творчество:
Код: plaintext
1.
2.
DROP PROCEDURE _p_Test2;
DROP PROCEDURE _p_Test1;
DROP TABLE _t_Test;
...
Рейтинг: 0 / 0
ASA 9.0.2.2451 и где- то ранее Invalid Statement
    #32870656
Проблема вообще - то не с конкретной процедурой
Например после каких -то (не знаю конкретно каких) команд
Скажем добавить поле на работающей БД и отказе от
операции из- за невозможности. Или что-то другое НЕ ЗНАЮ


Начинает выдаваться этот самый Invalid Statement на все подряд
И приходится перегружать сервер!

Никаких select *, load, unload в программе может и не быть,
я указал пример где это происходило регулярно.

Кстати На 9.0.2.2542 - довольно часто
Если базу не трогать руками ( Работают только пользователи ) вроде нет.
Как тронешь в interactiv sql - запросто.
...
Рейтинг: 0 / 0
ASA 9.0.2.2451 и где- то ранее Invalid Statement
    #32871141
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может проблема в железе или криво установленном софте? Попробуй что-то из этого поменять. IMHO если бы это был глюк ASA, он проявлялся бы у многих.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9.0.2.2451 и где- то ранее Invalid Statement
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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