powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Неправильная нумерация строк SP в ASE 12.5.01 ?
11 сообщений из 11, страница 1 из 1
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33408597
Andy Lloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Замечено:

если происходит ошибка в процедуре то с месагой приходит и имя процедуры и номер строки в ней. иногда он (номер строки) правильный. но иногда (особенно в больших хп). провели маленький анализ. результат:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create proc ap_delme as
begin
      declare @aaa    int
      print 'test1'
      if @aaa = null
              select @aaa =  22 
      select @aaa = null
      select @aaa =  0 
      raiserror  25000  /*raise error in line 9 (could be any error)*/
      return  0 
end

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 >isql -STEST -Usa -P*** -Dtest
1> ap_delme
2> go
test1
Msg 25000, Level 16, State 1:
Server 'TEST', Procedure 'ap_delme', Line 7:
Script error occured.
(return status = 0) 


если поставить комменты после null :

Код: plaintext
1.
2.
   if @aaa = null   /*put the comment here*/
         select @aaa =  22 
   select @aaa = null /*and here*/

и запустить процедуру то со строкой все ок:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 
>isql -STEST -Usa -P*** -Dtest
1> ap_delme
2> go
test1
Msg 25000, Level 16, State 1:
Server 'TEST', Procedure 'ap_delme', Line 9:
Script error occured.
(return status = 0)
 



Теперь вопрос: У всех ли на АSЕ такая лажа? может в новых версиях этого нет?
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33408698
Фотография Badger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного по другому
1> SELECT @@version
2> go


Adaptive Server Enterprise/12.5.0.3/EBF 11449 ESD#4/P/NT (IX86)/OS4.0/rel12503/1939/32-bit/OPT/Sat Sep 20 22:28:57 2003

(1 row affected)

1> ap_delme
2> go


test1
Msg 2748, Level 16, State 1:
Procedure 'ap_delme', Line 7:
Message number 25000, passed to RAISERROR, does not exist in the sysusermessages
catalog.
(return status = 0)
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33408809
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как он считает строки - одному Богу известно. Если мне кто объяснит - я ... ну не знаю ... ящик пива.
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33408814
Andy Lloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня для 25000 определен текст ошибки "Script error".
Но это не важно.

Важен номер строки. 7.
А должно быть 9!
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33408822
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv wrote:

> Как он считает строки - одному Богу известно. Если мне кто объяснит - я
> ... ну не знаю ... ящик пива.

Намёк понят .
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33408833
Andy Lloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivКак он считает строки - одному Богу известно. Если мне кто объяснит - я ... ну не знаю ... ящик пива.

Обьясняю.
Если в конце строки последнее слово null , то он эту строку не считает.
Если нет ни одной такой - то все правильно считает.

жду пива
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33412433
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погоди, проверить надо ... Проверять буду !!!
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33413154
Vlad_5181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASE 11.9.2.6
С комментариями и без выдает :
test1
Msg 2748, Level 16, State 1:
Procedure 'ap_delme', Line 9:
Message number 25000, passed to RAISERROR, does not exist in Sysmessages.
(return status = 0)

Может на 12-й и считает без null, но на 11-й все корректно - Line 9
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33426842
_makSim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy Lloyd
Обьясняю.
Если в конце строки последнее слово null , то он эту строку не считает.
Если нет ни одной такой - то все правильно считает.
жду пива


По-моему, всё гораздо сложнее. У меня, например, и без Null неправильно считает. Мои подозрения уходили в сторону комментариев.

Что с проверкой у MasterZiv? :)
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33428670
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока мне нужно сделать слишком много для этого ...
поставить VC6, залить базу, перенеся ее попутно на 15, скомпилировать и перенести туда (на 15) библиотеку запросов, добавить в алгоритм подсчета строк это правило, скомпилировать дебагер и потом проверить тщательно все...

Правда можно еще включить соседний компьютер ...
Ну в общем, вы поняли - пока руки не дошли.
...
Рейтинг: 0 / 0
Неправильная нумерация строк SP в ASE 12.5.01 ?
    #33429578
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy Lloyd, ваша гениальная догадка весьма похожа на правду.
Но, согласитесь, такое может присниться разве что только в бредовом сне.
Даааа.
Круто одним словом.
Чтобы окончательно в этом убедиться (и угостить вас пивом!!)
я должен в дебаггер встроить поддержку этого дела и
потом погонять это дело на разных процедурах.

Но я , честно говоря, даже не знаю как реализовать обход
такого дурного "бага". Пока даже не придумать.

ЗЫ: Кстати, а где вы территориально находитесь ?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Неправильная нумерация строк SP в ASE 12.5.01 ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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