powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Еще одна багофича РВ
3 сообщений из 3, страница 1 из 1
Еще одна багофича РВ
    #32390458
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

На днях поймал интересную ошибочку. Разбирались в чем проблема чуть ли не пол дня. В общем попорядку.

Есть окошко. Оно старое, начиналось еще на РВ5, потом жило на РВ6.5, теперь живет на РВ8.0.3 Build 9704 (база на M$ SQL Server 2000). Писало, дописывало и переписывало это окно несколько программистов, по этому мусору там, в принципе, очень даже хватает. Есть на окне DW и есть оконная функция, которая это DW ретривит. И в один прекрасный момент начало творится следующее: при отркрытии окна DW ретривится, все нормально. Вызываем функцию еще раз и... в точке dw.retrieve() получаем сообщение
DataWindow Error! Select error: Data-conversion resulted in overflow.

Что оказалось: кто-то, когда-то, уже неизвесно зачем, ниже ретрива этого DW в этой же самой функции вставил строчку:
Код: plaintext
dw.modify( "destroy column col_1 destroy column col_2" )

а потом он же, или кто то другой убили эти поля в DW в визуалке в дизайнтайме. Да, строчка выполнялась при определенных условиях, по этому бага мирно просуществовала до сих пор.

Описать этот случай здесь меня побудило то, что сообщение об ошибке никоим образом не указывает на возможную причину ее возникновения, а скорее побуждает проверить соответствие размерности полей DW с размерностью полей в таблице. Думаю, что этот пример может послужить кому то еще, и буду рад, если тот, кто натолкнется на подобную ситуацию, найдет решение здесь, а не потратит на это уйму сил и времени как это было со мной. :)

2 ASCRUS: Помню, видел я как то в нашем РВ-шном форуме ветку где договорились описывать подобные случаи (что то типа "базы знаний РВ-шника"), но не нашел этой ветки и по этому создал новую. Если я был не внимателен, прошу простить :) и перенсти мое сообщение туда.

---
С уважением, IKAR
ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Еще одна багофича РВ
    #32390585
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно как наличие/отсутствие визуальных объектов в DW может повлиять на заполнение буфера DW.
Тут скорее несоответствие типа данных в буфере (table) типу данных соотв. колонки запроса. Такое бывает если изменилась структура таблиц (например расширено текстовое поле), а DW не изменили. А нестабильность ошибки из-за того, что не всегда данные выбранных строк запроса превышают размер отведенный в буфере DW.

А текст сообщения выдает драйвер PB для MSSQL. В других драйверах текст такой же ошибки другой - это действительно не очень удобно.
...
Рейтинг: 0 / 0
Еще одна багофича РВ
    #32391516
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ikar, картина вполне понятная (и предсказуемая), но ни к багам, ни к фичам РВ особого отношения не имеет, а является аналогом звука, который ты издашь, если у тебя из под попы выдернут стул :-)

Что поисходит, когда ты делаешь dw.modify("destroy column col_1")?

Изменяется синтаксис dw, а именно та часть, где и описаны визуальные характеристики col_1 И table section, где описаны типы и размерность колонок, их дб имена и т.д. и т.п. (то бишь линия описывающая col_1 из table section исчезает начисто).
При этом спецификация SELECTа остается такой же как и была. Поэтому когда ты опять зовёшь ретрив, РВ неоткуда узнать тип и размерность для bind variable в которую надо совать то, что в SELECTе соответствует col_1 (и по всей видимости он использует некий дефолт), что вполне закономерно вызывает Data-conversion ошибку...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Еще одна багофича РВ
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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