powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
18 сообщений из 18, страница 1 из 1
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34875007
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!

После перехода на Sybase ASE 12.5 (сервера SUN) столкнулись с проблемами
в работе пользовательских приложений при обновлении Sybase Open Client
до версии 12.5.1 (+ последний доступный EBF).
Возникла следующая ситуация:

- Связка BDE + OpenClient 12.0 работает условно корректно
(есть проблемы с производительностью при обработке больших массивов данных, но терпимые)

- Связка BDE + OpenClient 12.5 прекрасно справляется с обработкой больших массивов,
не может корректно обрабатывать возвращаемые SQL-сервером ошибки
(например при несовпадении типов данных). BDE просто вылетает.

- Проверили все доступные версии BDE (5.0,5.1,5.1.1,5.2 SDK) и на всех платформах W2k/XP/W3k
везде получаем вылет BDE при обработке ошибок SQL-сервера. При этом выполнение того же кода,
генерирующего ошибку (например "select @myvar" без предварительного declare) через ODBC/OLEDB/ISQLW
или напрямую через isql.exe проходит корректно, т.е. ошибка перехватывается, обрабатывается и выводится
соответствующее сообщение. Т.е. Sybase Open Client 12.5 установлен и функционирует корректно.

Вопрос:
Существует ли в природе способ подружить BDE и SybaseOpenClient 12.5 (и выше), т.е.
устранить вылет BDE при обработке ошибок, возвращаемых SQL-сервером?

Заранее признателен за помощь и информацию.
Сам разбираюсь уже пару месяцев - пока безрезультатно, вернее
результаты конечно есть, но они крайне неутешительные ...
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34875185
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=User=- wrote:

> устранить вылет BDE

Самый лучший способ это сделать - выкинуть эту говноподелку.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34875234
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:^-((

Устранить быстро не представляется возможным - слишком большие деньги
заряжены под лицензии на прикладной софт. Поэтому ищем обходные пути.
Один из них - настроить ODBC-алиас и пустить работающий через BDE
прикладной софт поверх этого алиаса, но это не серьезно на наших
объемах обрабатываемых данных.
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34876326
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=User=- пишет:
> Устранить быстро не представляется возможным - слишком большие деньги
> заряжены под лицензии на прикладной софт. Поэтому ищем обходные пути.

Ну попробуйте просто вместо BDE использовать более новые линки,
какие там у вас есть, OLEDB что ли ? Если у вас Delphi должно быть
это не сложно.

Просто видимо проблема в том, что BDE умерло уже когда еще был 11.9,
ну видимо с обратной совместимостью не все слава богу.

> Один из них - настроить ODBC-алиас и пустить работающий через BDE
> прикладной софт поверх этого алиаса, но это не серьезно на наших
> объемах обрабатываемых данных.

Почему ? это ж ничем почти не отличается.

А кстати, посмотрите, что BDE передает в таков вызове

/*
** First allocate a context structure.
*/
context = (CS_CONTEXT *)NULL;
ret = cs_ctx_alloc(EX_CTLIB_VERSION, &context);
EXIT_ON_FAIL(context, ret, "cs_ctx_alloc failed");

в качестве константы вместо EX_CTLIB_VERSION ?
по-идее, если туда дать правильную константу (какая там у вас была версия?),
то должно быть все ОК.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34876787
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivНу попробуйте просто вместо BDE использовать более новые линки

- рады бы, но разработка сторонняя. Сами конечно давно работаем через OLEDB.

MasterZivПочему ? это ж ничем почти не отличается.

- проведенные тесты показывают, что отличается. видимо несколько иначе отрабатывает
алгоритм буферизации BDE. Трассировку конечно делаем, изучаем, но пока безрезультатно,
т.к. конфликт видимо на уровне API-вызовов.
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34876836
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ларчик просто открывался ... спасибо большое за наводку, все таки одна голова хорошо,
а две и более лучше!

При глубокой трассировке подозрение вызвали некотрые параметры, и в итоге разобрались, что:
Dynamic Link Library (DLL) name
SQLSYB32.DLL (for DB-Lib/Version 4.x)
SQLSSC32.DLL (for CT-Lib/System 10 and later)


Т.е. оказалось, что в дистрибутивах прикладного софта неверно был сконфигурирован BDE драйвер,
и вместо CT-Lib все вызовы шли через DB-Lib. Драйвера CT-Lib там вообще не было. Нашли, скачали,
подключили - все пошло как по маслу, т.е. BDE прекрасно работает с 12.5.
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34879240
tuy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tuy
Гость
Это User у Вас теперь не совсем верная конфигурация, а вернее - совсем неверная, потому что подобная конфигурация клиентской части не соответствует тех. требованиям на прикладной софт, т.к.:

"При использовании в качестве СУБД - Sybase сервер (независимо от версии сервера), необходимо использовать клиентскую часть версии OCS-12_0..."

То есть на то, что текущая версия прикладного софта (клиентская часть) разрабатывается, тестируется и СОПРОВОЖДАЕТСЯ на связке OCS-12_0/SQLSYB32.DLL(BDE) вы просто забили.

Умно...
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34879565
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:-)) о, наконец-то обратная реакция с той стороны баррикады (не исключаю, что выше отписался
один из наших больших начальников) после черти знает сколько времени
обсудения этого вопроса.

tuyпотому что подобная конфигурация клиентской части не соответствует тех. требованиям на прикладной софт, т.к. ...

А никто против этого не возражает, только это должна быть не моя головная боль, а головная боль
разработчиков этого самого софта. Ибо помимо требований "писателей", есть еще требования
СУБД и драйверов, которым, вообще говоря, писатели должны бы максимально удовлетворять, если
используют ту или иную платформу.

tuyТо есть на то, что текущая версия прикладного софта (клиентская часть) разрабатывается, тестируется и СОПРОВОЖДАЕТСЯ на связке OCS-12_0/SQLSYB32.DLL(BDE) вы просто забили.

И никто ни на что не забивал - просто вам вопросы ставишь, вы их на корпоративном уровне
игнорите, и потом вот так анонимно приходится общаться. Были реальные проблемы с
производительностью этого самого софта под клинтской частью XPSP2, на которую вы же всех нас принудительно и переводили, и на 12.5 перешли по вашей же милости. А на вопросы о зависаниях
отвечали "мол разбирайтесь, у нас вроде нормально".

Приношу глубокие извинения к All за такой междусобойчик, и обращаюсь за содействием:
- пожалуйста, все кто считает, что с BDE для корпоративного софта нужно слазить
- что ситуация с сильным отставанием версии клиентской части СУБД от серверной является
мягко говоря не нормальной

чикните "+" в этой ветке ... и если можно, с аргументацией.
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34881828
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=User=-... обращаюсь за содействием:
- пожалуйста, все кто считает, что с BDE для корпоративного софта нужно слазить
- что ситуация с сильным отставанием версии клиентской части СУБД от серверной является
мягко говоря не нормальной

чикните "+" в этой ветке ... и если можно, с аргументацией.

по первому пункту не скажу, а по второму - абсолютно нормально, имхо. Причем это даже отечественное изобретение. Живой пример - у нас куплен дорогущий забугорный софт на sybase ase (12.5.4 esd3, так syb-клиент для второго уровня (приложение - трехзвенка) обговаривается совершенно четко и без вариантов - 12.5.1 esd10 и без вариантов!. Так что про "ненормальность" это вы зря, это совершенно нормально и поставщик софта имеет на это полное право.

имхо
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34882235
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=User=- пишет:

> - пожалуйста, все кто считает, что с BDE для корпоративного софта нужно
> слазить

Я считаю что с поделками фирмы барланд вообще нельзя связываться в
корпоративном софте. Но это мое сугубо личное мнение.

> - что ситуация с сильным отставанием версии клиентской части СУБД от
> серверной является
> мягко говоря не нормальной

Это как это ? Я не понял. BDE Sybase-ом не поставляется. CTLib и DBLib
поставляются регулярно, соответствующих версий и при этом еще обладают
отличной обратной совместимостью. Старый клиент может с новым серваком работать
и наоборот, новый клиент со старым. И новый клиент со старым приложением.

Короче, объяснитесь, что имели в виду.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34883655
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivКороче, объяснитесь, что имели в виду.

Имелось в виду, что:
1. Версия Open Client должна как минимум соответствовать версии ASE
2. Для работы с Open Client через BDE нужно удовлетворять требованиям разработчиков BDE,
т.е. если они говорят, что обеспечивают совместимость через CT-Lib, то и работать нужно через
CT-Lib, а не через DB-Lib, как было когда-то (давно, лет 7-10 назад) удобно разработчику.
Да, механизмы разные, но они поэтому и разные, что чем то приходится жертвовать в угоду
универсальности/простоте/надежности/совместимости и т.д.

komradсофт на sybase ase (12.5.4 esd3, так syb-клиент для второго уровня (приложение - трехзвенка) обговаривается совершенно четко и без вариантов - 12.5.1 esd10 и без вариантов!.

Это и есть соответствие версии Open Client версии ASE, ибо Open Client выше чем 12.5.1 для
ASE версий 12.5.х, по моей информации, не существует. EBF-ы конечно есть разные, последний был 14745.

Попутно уточню, что разработчик, после прямого вопроса с нашей стороны, признал
что DBE-зло, и что следующее поколение (версия) прикладного софта уже разрабатывается с учетом
перехода на другой механизм взаимодействия с клиентом СУБД.
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34883660
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivСтарый клиент может с новым серваком работать
и наоборот, новый клиент со старым. И новый клиент со старым приложением.

Хорошо бы, если б все было так красиво в действительности.
Реальные проблемы с BDE + Open Client 12.0 для ASE 12.5 имели место на больших выборках
при переходе на XPSP2/W3K, причем это не проблема Sybase, это была проблема операционки, что вылечилось выходом через несколько месяцев соответсвующих обновлений. Но на эти месяцы мы
здорово погрелись, и именно тогда начали переходить на Open Client 12.5, где эта проблема оказалась
решена.

Вообще говоря, 12.5 и 12.0 это огромная разница ... и там местами не до совместимости, т.к.
Sybase прямо отказался от поддержки ряда устаревших технологий. Например вот это можно почитать
для интересующихся и сравнить с соотвествующим для 12.0:

http://manuals.sybase.com/onlinebooks/group-sd/sdp1251e/pccfg/@Generic__BookView/5477;td=50#X
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34883888
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=User=- пишет:

> Имелось в виду, что:
> 1. Версия Open Client должна как минимум соответствовать версии ASE

Вовсе не обязательно.

> 2. Для работы с Open Client через BDE нужно удовлетворять требованиям
> разработчиков BDE,
> т.е. если они говорят, что обеспечивают совместимость через CT-Lib, то и
> работать нужно через
> CT-Lib, а не через DB-Lib, как было когда-то (давно, лет 7-10 назад)
> удобно разработчику.

В BDE было ДВА линка, через обе библиотеки. Оба от борланды, т.е.
как бы от поставщиков. Что не так ?

> komrad
> софт на sybase ase (12.5.4 esd3, так syb-клиент для второго уровня
> (приложение - трехзвенка) обговаривается совершенно четко и без
> вариантов - 12.5.1 esd10 и без вариантов!.

Где обговариваеся - я не понимаю. Ну да ладно.

> Попутно уточню, что разработчик, после прямого вопроса с нашей стороны,
> признал что DBE-зло


Вот это уж точно !
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34883902
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Хорошо бы, если б все было так красиво в действительности.
> Реальные проблемы с BDE + Open Client 12.0 для ASE 12.5 имели место на
> больших выборках

Значит так. Есть нормальные продукты, и продукты фирмы барлянд.
Проблемы последних есть их собственные трудности.

> Sybase прямо отказался от поддержки ряда устаревших технологий. Например
> вот это можно почитать
> для интересующихся и сравнить с соотвествующим для 12.0:

А от чего они отказались-то? Я что-то не понял.
Если лень отвечать, можно не отвечать, мне собственно просто любопытно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34884404
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivЗначит так. Есть нормальные продукты, и продукты фирмы барлянд
Не могу согласиться со столь категоричным суждением.

Скорее так: есть нормальные продукты для своего класса приложений, и эти вполне нормальные
продукты нужно правильно использовать разработчикам. А когда разработчики в угоду своему
удобству (и/или уровню знаний) начинают ипользовать эти продукты не так, как для них было
предначертано, и при этом продавать свои разработки корпоративному сектору за приличные
деньги - вот это категорически неправильно!

Здесь так и получилось:
- разработчики BDE четко говорят через какую библиотеку с какой версией ASE нужно работать
- разработчики прикладного софта это игнорируют, и используют более старую библиотеку
- в результате на уровне портребителей приходится разбираться в плюхах тех и других

Когда нибудь и ADO/OLEDB/JConnect и прочие интерфейсы устареют, как это происходит с DAO/BDE,
но это не значит, что для своего времени эти продукты были плохими. Лет 10 назад альтернативы
BDE на рынке "легких" систем практически не было. Сейчас же другое время...
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34884442
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Не могу согласиться со столь категоричным суждением.

Утверждение в общем-то очень категоричное. Но это мое сугубо
личное мнение. Ну не люблю я их. А так - согласен со всем.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34885134
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=User=-Связка BDE + OpenClient 12.0 работает условно корректно
Ее и используйте, сервер может быть и 12.5.

-=User=-Связка BDE + OpenClient 12.5 не может корректно обрабатывать возвращаемые SQL-сервером ошибки
Если мне не изменяет память, подобное поведение наблюдается при работе через DBLib. Точно также ЕМНИП через CTLib работать с 12.5 можно (там правда другие проблемы будут). Однако, если приложение собрано для работы через BDE/DBLib, в общем случае через BDE/CTLib просто так (одними лишь манипуляциями с BDE) оно не заработает.
...
Рейтинг: 0 / 0
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
    #34896257
-=User=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей ВаскецовОднако, если приложение собрано для работы через BDE/DBLib, в общем случае через BDE/CTLib просто так (одними лишь манипуляциями с BDE) оно не заработает.

Да, конечно, так оно и есть ... проверено.
В общем мы используем клиента 12.5.1, а на машинах своих разработчиков обеспечили средствами
виртуализации возможность работать через клиента 12.5/12.0 по выбору, чтоб избавиться от
вылетов BDE. А там глядишь и новые версии прикладного софта подоспеют ...
Ветку можно закрывать :-))
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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