powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / OpenClient или ODBC для работы с ASA?
25 сообщений из 26, страница 1 из 2
OpenClient или ODBC для работы с ASA?
    #33220234
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раньше работал на BCB. Сейчас перехожу на VC. Вопрос, - что предпочтительнее для работы с ASA? На BCB работал через мост BDE-ODBC. Т.е ни самого ODBC, ни open client я напрямую никогда не использовал. Заюзать QT, которая имеет свои удобные классы для работы с БД к сожалению пока не удалось.
Основным критерием для меня является - относительная простота кода для работы с БД. Т.е морочить себе голову созданием хэндлов, структур и прочего вспомогательного кода хочется как можно меньше. Оптимальный вариант - уже готовые классы - обертки поверх ODBC.
В доке на АСА посмотрел примеры ODBC кода - мрак с точки зрения читаемости. OpenCLient на беглый взгляд предпочтительнее. Напрягает, что это в основном ASEшная библиотека, плюс я пока нигде не увидел поддрежку таких опций как криптование и компрессия траффика, которые в ODBC присутсвуют.
Если есть другие варианты, рад услышать.
все наши на www.corba.kubsu.ru
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33220389
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old wrote:

> Раньше работал на BCB. Сейчас перехожу на VC. Вопрос, - что
> предпочтительнее для работы с ASA?

Я бы посоветовал посмотреть на Embedded SQL. Правда, я его пользовал
мало и из под BC++5, но был вполне доволен.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221664
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldСейчас перехожу на VC. Вопрос, - что предпочтительнее для работы с ASA?
Ну лично я предпочитаю ODBC. Просто и легко. ODBC очень просто обернуть в свой собственный интерфейс, я например делаю ODBC вызовы только из одного модуля в полтора десятка собственных функций и десять килобайт размером. А дальше уже идет код типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
if (!Send("select * from %s", sTableName)) return FALSE;
while(Fetch()) {
   printf("pk=%s f1=%d\n", GetFieldAsString("primary_key_field_name"), GetFieldAsInteger("f1"));
}
Send("select count(*) from othertable");
printf("count=%d\n", GetColumnAsInteger( 0 ));

Если тебя тянет к С++, то лучше будет работать с ADO. Там уже вся работа с базой представленна в виде классов. Дополнительный плюс - ADO реализован напрямую на очень многих языках и будет просто переходить с одного языка на другой, принципы работы с базой будут уже знакомы.

Embedded SQL вещь конечно хорошая, но слегка замороченая. ESQL незаменим если ты делаешь утилиту управления базой/сервером. Но для простого клиентского приложения оно не удобно.

Про OLE DB ничего не скажу, я сам с ним не работал.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221667
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Относительно недавно в соседнем форуме была тема про EmbedSQL vs все остальное. Я "идею" EmbedSQL совсем не понимаю.
Результат той дискуссии - все остались при своем мнении.
Странно, что на вопрос больше нет отзывов. Неужели все на PB/Delphi/Net сидят?
все наши на www.corba.kubsu.ru
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221709
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldЯ "идею" EmbedSQL совсем не понимаю.
Идея очень простая - Embedded SQL это родной интерфейс ASA заточеный на особенности ASA. Через ESQL ты сможешь получить наиболее полный доступ к базе и серверу который невозможен через универсальные интерфейсы (ODBC/ADO/etc).
Например ТОЛЬКО через ESQL ты сможешь просканировать сеть чтобы найти IP адрес работающих серверов а не просто подключится к ним :)
Но это касается конечно только C-based ESQL библиотека которого идет вместе с ASA и его описание включено в BOL.
Все утилиты ASA используют как раз этот интерфейс.

Embedded SQL по версии Power Builder это всего лишь возможность давать команды серверу БД без создания datawindow и по сравнению с C-ESQL, PB-ESQL это маленький и хиленький уродец не стоящий обсуждения :)
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221775
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 WhiteOwl
Странно, в доке на open client написано:

All Sybase precompilers 11.0 and later use a runtime library composed solely of documented Client-Library and CS-Library calls. Basically, the precompiler transforms an Embedded SQL application into a Client-Library application , which is then compiled using the host-language compiler.
Но спорить не буду, т.к. не работал.

все наши на www.corba.kubsu.ru
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221812
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old wrote:

> Странно, в доке на open client написано:
>
> All Sybase precompilers 11.0 and later use a runtime library composed
> solely of documented Client-Library and CS-Library calls. Basically, the
> precompiler *transforms an Embedded SQL application into a
> Client-Library application*, which is then compiled using the
> host-language compiler.

Может, это про ASE? По крайней мере, на это наводит номер версии (11) в
сочетании с Open Client - он родной для ASE, а не для ASA.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221925
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldAll Sybase precompilers 11.0 and later use a runtime library composed solely of documented Client-Library and CS-Library calls. Basically, the precompiler transforms an Embedded SQL application into a Client-Library application , which is then compiled using the host-language compiler.
Ну. А что смущает?
Данный кусок вырван явно из документации на ASE а не ASA (их все же не надо путать, хоть они и родственники :) Но в ASA ситуация почти точно такая же. Пишешь программу на С-ESQL прогоняешь через препроцессор и получаешь чистый C или С++ код в котором все SQL вызовы превращаются в кучку вызовов к библиотеке dblibX.dll.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221935
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 WhiteOwl
Упс, я извиняюсь. Меня клемануло. Мне почему-то показалось, что речь шла о том, что open client приложение не может делать обзор ASA серверов в сети. Я невнимательно просмотрел ваш пост.
По поводу цитируемой доки. На сайте я не нашел отдельного описания openclient для ASA и ASE. Есть просто openclient v12.5, и более ранние версии. А в доке на ASA только указаны некоторые ограничения и особенности.

Я попробовал поискать приличный C++ враппер для ODBC. Пока не нашел. Есть мелкие библиотеки, которые люди писали сами для себя. :-(

По поводу ADO/OLEDB. Та получилось, что эти технологии в чистом виде прошли мимо меня. Вроде бы ADO - объектная прослойка над OLEDB, и возможно то что надо. Но... есть еще ADO.NET - которая вроде как пришла на замену ADO, но работает только для .NET.
Поди разберись, что из них кульнее и моднее, а что безнадежно устарело. Очень вспоминаются статьи Joel'a.

все наши на www.corba.kubsu.ru
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33221956
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldПо поводу цитируемой доки. На сайте я не нашел отдельного описания openclient для ASA и ASE. Есть просто openclient v12.5, и более ранние версии. А в доке на ASA только указаны некоторые ограничения и особенности.
А это очень просто объясняется :) OpenClient как набор протоколов и библиотек обспечивающих доступ к БД делался изначально для ASE. Для ASA его уже более-менее пытались портировать. Поэтому, чтобы не морочить себе голову с полуработающим интерфейсом - если сервер ASE, то можно брать OpenClient. Если сервер ASA - то про OpenClient лучше забыть. Теоретически через OpenClient ты сможешь подцепиться к ASA, практически никто этим не занимается :)

Ggg_oldЯ попробовал поискать приличный C++ враппер для ODBC. Пока не нашел. Есть мелкие библиотеки, которые люди писали сами для себя. :-(
Приличный объектный враппер над процедурным ODBC это ADO. А OLE DB это совершенно отдельная штука которая изначально делалась под объекты. Что использовать - вопрос более религии и шаманских плясок.
Если пишешь на С могу дать свой собственный враппер ODBC. Мне его хватает уже который год :)

Ggg_oldНо... есть еще ADO.NET - которая вроде как пришла на замену ADO, но работает только для .NET.
Ну как я уже говорил, выбирая из ADO и OLE DB я предпочту ADO, потому что нативные вызовы ADO есть уже почти во всех современных языковых системах. А OLE DB только для С++.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33222587
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldЗаюзать QT, которая имеет свои удобные классы для работы с БД к сожалению пока не удалось.


Что-то я не помню, чтобы в QT были бы удобные классы для работы с БД.
Либо их вообще не было, либо они неудобные. Ты ничего не перепутал ?
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33222608
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldOpenCLient на беглый взгляд предпочтительнее. Напрягает, что это в основном ASEшная библиотека,

Ее поддерживают все СУБД от Sybase-а.

Ggg_old
плюс я пока нигде не увидел поддрежку таких опций как криптование и компрессия траффика, которые в ODBC присутсвуют.


Криптование там есть, только оно выделено в отдельный слой для возможности подключения компонент сторонних производителей. Так что весь вопрос будет в поиске и конфигурации этих компонент.
Сжатие траффика , как я понимаю, вообще часто может производиться на уровне операционки.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33222628
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счет классов для баз данных был не прав. Видимо, их просто недавно сделали.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33223737
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2MasterZiv
А вы пробовали OpenClient для работы с ASA? Теоритески по документации вроде как проблем быть не должно, но WhiteOwl все-же не рекомендует.
По поводу QT. Я бы с радостью использовал QT, но QT Designer при попытке подсоединиться к ASA9 через ODBC просто падает. На форумах QT, ASA помочь не смогли. Видать очень редкая связка. Если у вас есть возможность проверить этот факт у себя - сообщите пожалуйста.
Тогда реальных кандидатов остается два: ODBC и ADO. ODBC как мне кажется полегче в сопровождении и развертывании приложения, плюс имеется под *nix. ADO объектен, но завязан на большое кол-во не самых простых и небезглючных техгологий windows.

все наши на www.corba.kubsu.ru
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33223745
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old wrote:

> А вы пробовали OpenClient для работы с ASA?

Для чего при работе с ASA использовать примочку, сделанную для
совместимости с ASE?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33225081
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old2MasterZiv
А вы пробовали OpenClient для работы с ASA?
[/quote]
Ну программы я не писал, но всегда использовал как консоль для работы с ASA и IQ OpenClient-консоли (стандартный ISQL, Advantage и свои самописные). Все работало хорошо, только нельзя указывать базу данных для работы и нельзя выполнять USE MyDB - у ASA база задается параметрами подключения.

[quot Ggg_old]
Теоритески по документации вроде как проблем быть не должно, но WhiteOwl все-же не рекомендует.

Я уже писал, что не понимаю, отчего такая рекомендация.

Ggg_old
Если у вас есть возможность проверить этот факт у себя - сообщите пожалуйста.


Нету возможности.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33226137
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЯ уже писал, что не понимаю, отчего такая рекомендация.
Почему я не рекомендую при написании своего клиента для ASA использовать интерфейс OpenClient? Да потому что OpenClient делался и делается в первую очередь для ASE. Для всего остального его портируют - значит там будут глюки.
По моему, намного надежнее и проще с самого начала использовать универсальные интерфейсы типа ODBC/ADO.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33226825
Andyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже как-то упоминал про работу с ASA через OpenClient. Проект работает в связке ASA8 + SQLDirect уже третий год. Каких-то проблем связанных именно с OpenClient не замечено. Есть только ряд ограничений, о которых тоже уже говорили раньше - ограничение на размер строкового поля в 255 символов, нет шифрования трафика и что-то еще. Но работать можно вполне.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33226826
Andyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сайт http://www.freeTDS.org с исходниками библиотек на Си для доступа через OpenClient.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33227026
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl MasterZivЯ уже писал, что не понимаю, отчего такая рекомендация.
Почему я не рекомендую при написании своего клиента для ASA использовать интерфейс OpenClient? Да потому что OpenClient делался и делается в первую очередь для ASE. Для всего остального его портируют - значит там будут глюки.
По моему, намного надежнее и проще с самого начала использовать универсальные интерфейсы типа ODBC/ADO.

Я могу попробовать порассуждать в таком же духе : "Для чего делался ODBC и ADO ? Для MSSQLServer. Для всего остального его портируют, значит там будут глюки ..." Похоже получилось ?
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33228632
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЯ могу попробовать порассуждать в таком же духе : "Для чего делался ODBC и ADO ? Для MSSQLServer. Для всего остального его портируют, значит там будут глюки ..." Похоже получилось ?
Конечно похоже, и даже правдиво :)
Просто ODBC и ADO за прошедшие года уже вылизаны. Сравни сколько людей используют их и сколько пользователей OpenClient? Да хотя бы с той точки зрения, что получить ответ по ODBC в форуме намного больше шансов что по OpenClient - уже огоромнейший плюс в сторону ODBC. Да еще и форумов по ODBC на порядки больше чем форумов по OpenClient.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #33229049
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, была тут бага в ADO - товарищ хотел использовать для доступа ко всем серверам ... - причем именно в самом ADO, не в драйвере для конкретной СУБД. Я бы сказал , что случай был абсолютно типичным случаем использования. Он искал по всем форумам, вопросы задавал. Нашел несколько раз описание этой же проблемы, а вот вариантов решения так и не нашел.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
OpenClient или ODBC для работы с ASA?
    #34473192
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардонте за поднятие усопшей темы, но...

White OwlЕсли пишешь на С могу дать свой собственный враппер ODBC. Мне его хватает уже который год :)

Очень хотел бы поглядеть на такое. Если не трудно и есть возможность, пришли на netcanz[собак]mdk-arbat.ru.
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #34473356
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот еще вопрос. В комплекте с АСА есть файл odbc.h, а также odbc32.lib для компоновки проекта на Си. Немного не догоняю, если ODBC единый независимый стандарт, то почему его части вкладывают в АСА. А если я захочу подключаться к другим СУБД через ОДБС, мне уже эти файлы не помогут, понадобится перекомпилировать с новой билблиотекой от другой СУБД? Ведь вроде весь смысл ОДБС в том, что он позволяет абстрагироваться от конкретной реализации СУБД.

Проясните, почему они включены в пакет СУБД, а не поставляются в отдельном SDK. И могу ли я использовать именно эти файлы не в применении к конкретной СУБД (АСА)?
...
Рейтинг: 0 / 0
OpenClient или ODBC для работы с ASA?
    #34473958
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iLLerА вот еще вопрос. В комплекте с АСА есть файл odbc.h, а также odbc32.lib для компоновки проекта на Си. Немного не догоняю, если ODBC единый независимый стандарт, то почему его части вкладывают в АСА.А чтоб были. На случай, если у тебя нету MDAC и в поставке твоего компилятора нету этого необходимого минимума...

iLLerА если я захочу подключаться к другим СУБД через ОДБС, мне уже эти файлы не помогут, понадобится перекомпилировать с новой билблиотекой от другой СУБД? Ведь вроде весь смысл ОДБС в том, что он позволяет абстрагироваться от конкретной реализации СУБД.

Проясните, почему они включены в пакет СУБД, а не поставляются в отдельном SDK. И могу ли я использовать именно эти файлы не в применении к конкретной СУБД (АСА)?Не паникуй. Они и так поставляются в отдельном SDK, называемом MDAC - Microsoft Data Access Components.
Но в MDAC лежат и библиотеки и хедеры и полная документация по всем трем интерфейсам (ODBC, ADO и OLE DB). И кстати, большинство современных компиляторов имеют копии всех этих библиотек в своей поставке, но уже без документации :)
В общем, ходи сюда, качай SDK и будет щастье: http://www.microsoft.com/downloads/details.aspx?familyid=78cac895-efc2-4f8e-a9e0-3a1afbd5922e&displaylang=en


Единственный хеадер из поставки ASA что может пригодится для работы с ODBC это asaodbc.h. В нем перечислены несколько констант - номера специфических функций поддерживаемых ODBC-драйвером для ASA. Если их не использовать то и хеадер не нужен.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / OpenClient или ODBC для работы с ASA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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