|
|
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! После перехода на 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-сервером? Заранее признателен за помощь и информацию. Сам разбираюсь уже пару месяцев - пока безрезультатно, вернее результаты конечно есть, но они крайне неутешительные ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 14:07 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
-=User=- wrote: > устранить вылет BDE Самый лучший способ это сделать - выкинуть эту говноподелку. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 14:46 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
:^-(( Устранить быстро не представляется возможным - слишком большие деньги заряжены под лицензии на прикладной софт. Поэтому ищем обходные пути. Один из них - настроить ODBC-алиас и пустить работающий через BDE прикладной софт поверх этого алиаса, но это не серьезно на наших объемах обрабатываемых данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 14:56 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
-=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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 19:41 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
MasterZivНу попробуйте просто вместо BDE использовать более новые линки - рады бы, но разработка сторонняя. Сами конечно давно работаем через OLEDB. MasterZivПочему ? это ж ничем почти не отличается. - проведенные тесты показывают, что отличается. видимо несколько иначе отрабатывает алгоритм буферизации BDE. Трассировку конечно делаем, изучаем, но пока безрезультатно, т.к. конфликт видимо на уровне API-вызовов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 06:18 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
А ларчик просто открывался ... спасибо большое за наводку, все таки одна голова хорошо, а две и более лучше! При глубокой трассировке подозрение вызвали некотрые параметры, и в итоге разобрались, что: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 07:38 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
Это User у Вас теперь не совсем верная конфигурация, а вернее - совсем неверная, потому что подобная конфигурация клиентской части не соответствует тех. требованиям на прикладной софт, т.к.: "При использовании в качестве СУБД - Sybase сервер (независимо от версии сервера), необходимо использовать клиентскую часть версии OCS-12_0..." То есть на то, что текущая версия прикладного софта (клиентская часть) разрабатывается, тестируется и СОПРОВОЖДАЕТСЯ на связке OCS-12_0/SQLSYB32.DLL(BDE) вы просто забили. Умно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 20:25 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
:-)) о, наконец-то обратная реакция с той стороны баррикады (не исключаю, что выше отписался один из наших больших начальников) после черти знает сколько времени обсудения этого вопроса. tuyпотому что подобная конфигурация клиентской части не соответствует тех. требованиям на прикладной софт, т.к. ... А никто против этого не возражает, только это должна быть не моя головная боль, а головная боль разработчиков этого самого софта. Ибо помимо требований "писателей", есть еще требования СУБД и драйверов, которым, вообще говоря, писатели должны бы максимально удовлетворять, если используют ту или иную платформу. tuyТо есть на то, что текущая версия прикладного софта (клиентская часть) разрабатывается, тестируется и СОПРОВОЖДАЕТСЯ на связке OCS-12_0/SQLSYB32.DLL(BDE) вы просто забили. И никто ни на что не забивал - просто вам вопросы ставишь, вы их на корпоративном уровне игнорите, и потом вот так анонимно приходится общаться. Были реальные проблемы с производительностью этого самого софта под клинтской частью XPSP2, на которую вы же всех нас принудительно и переводили, и на 12.5 перешли по вашей же милости. А на вопросы о зависаниях отвечали "мол разбирайтесь, у нас вроде нормально". Приношу глубокие извинения к All за такой междусобойчик, и обращаюсь за содействием: - пожалуйста, все кто считает, что с BDE для корпоративного софта нужно слазить - что ситуация с сильным отставанием версии клиентской части СУБД от серверной является мягко говоря не нормальной чикните "+" в этой ветке ... и если можно, с аргументацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2007, 06:40 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
-=User=-... обращаюсь за содействием: - пожалуйста, все кто считает, что с BDE для корпоративного софта нужно слазить - что ситуация с сильным отставанием версии клиентской части СУБД от серверной является мягко говоря не нормальной чикните "+" в этой ветке ... и если можно, с аргументацией. по первому пункту не скажу, а по второму - абсолютно нормально, имхо. Причем это даже отечественное изобретение. Живой пример - у нас куплен дорогущий забугорный софт на sybase ase (12.5.4 esd3, так syb-клиент для второго уровня (приложение - трехзвенка) обговаривается совершенно четко и без вариантов - 12.5.1 esd10 и без вариантов!. Так что про "ненормальность" это вы зря, это совершенно нормально и поставщик софта имеет на это полное право. имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2007, 18:08 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
-=User=- пишет: > - пожалуйста, все кто считает, что с BDE для корпоративного софта нужно > слазить Я считаю что с поделками фирмы барланд вообще нельзя связываться в корпоративном софте. Но это мое сугубо личное мнение. > - что ситуация с сильным отставанием версии клиентской части СУБД от > серверной является > мягко говоря не нормальной Это как это ? Я не понял. BDE Sybase-ом не поставляется. CTLib и DBLib поставляются регулярно, соответствующих версий и при этом еще обладают отличной обратной совместимостью. Старый клиент может с новым серваком работать и наоборот, новый клиент со старым. И новый клиент со старым приложением. Короче, объяснитесь, что имели в виду. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 00:12 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
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-зло, и что следующее поколение (версия) прикладного софта уже разрабатывается с учетом перехода на другой механизм взаимодействия с клиентом СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 06:23 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 06:32 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
-=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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 10:05 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
> Хорошо бы, если б все было так красиво в действительности. > Реальные проблемы с BDE + Open Client 12.0 для ASE 12.5 имели место на > больших выборках Значит так. Есть нормальные продукты, и продукты фирмы барлянд. Проблемы последних есть их собственные трудности. > Sybase прямо отказался от поддержки ряда устаревших технологий. Например > вот это можно почитать > для интересующихся и сравнить с соотвествующим для 12.0: А от чего они отказались-то? Я что-то не понял. Если лень отвечать, можно не отвечать, мне собственно просто любопытно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 10:10 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
MasterZivЗначит так. Есть нормальные продукты, и продукты фирмы барлянд Не могу согласиться со столь категоричным суждением. Скорее так: есть нормальные продукты для своего класса приложений, и эти вполне нормальные продукты нужно правильно использовать разработчикам. А когда разработчики в угоду своему удобству (и/или уровню знаний) начинают ипользовать эти продукты не так, как для них было предначертано, и при этом продавать свои разработки корпоративному сектору за приличные деньги - вот это категорически неправильно! Здесь так и получилось: - разработчики BDE четко говорят через какую библиотеку с какой версией ASE нужно работать - разработчики прикладного софта это игнорируют, и используют более старую библиотеку - в результате на уровне портребителей приходится разбираться в плюхах тех и других Когда нибудь и ADO/OLEDB/JConnect и прочие интерфейсы устареют, как это происходит с DAO/BDE, но это не значит, что для своего времени эти продукты были плохими. Лет 10 назад альтернативы BDE на рынке "легких" систем практически не было. Сейчас же другое время... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 12:24 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
> Не могу согласиться со столь категоричным суждением. Утверждение в общем-то очень категоричное. Но это мое сугубо личное мнение. Ну не люблю я их. А так - согласен со всем. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 12:35 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
-=User=-Связка BDE + OpenClient 12.0 работает условно корректно Ее и используйте, сервер может быть и 12.5. -=User=-Связка BDE + OpenClient 12.5 не может корректно обрабатывать возвращаемые SQL-сервером ошибки Если мне не изменяет память, подобное поведение наблюдается при работе через DBLib. Точно также ЕМНИП через CTLib работать с 12.5 можно (там правда другие проблемы будут). Однако, если приложение собрано для работы через BDE/DBLib, в общем случае через BDE/CTLib просто так (одними лишь манипуляциями с BDE) оно не заработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 15:07 |
|
||
|
Вылет BDE при SQL-ошибках при исп. клиента ASE 12.5
|
|||
|---|---|---|---|
|
#18+
Сергей ВаскецовОднако, если приложение собрано для работы через BDE/DBLib, в общем случае через BDE/CTLib просто так (одними лишь манипуляциями с BDE) оно не заработает. Да, конечно, так оно и есть ... проверено. В общем мы используем клиента 12.5.1, а на машинах своих разработчиков обеспечили средствами виртуализации возможность работать через клиента 12.5/12.0 по выбору, чтоб избавиться от вылетов BDE. А там глядишь и новые версии прикладного софта подоспеют ... Ветку можно закрывать :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 08:37 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34883655&tid=2011847]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 482ms |

| 0 / 0 |
