powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ODBC или ADO? Что лучше? Как вы думаете?
23 сообщений из 48, страница 2 из 2
ODBC или ADO? Что лучше? Как вы думаете?
    #34251088
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, под такие задачи более подходят сервера ентерпрайз-уровня, но на мой взгляд, производительность больше от хардваре зависит, нежели от софта.
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34252427
nikname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если структура БД не сложна, то имеет смысл попробовать Berkley DB.
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34253065
Homosum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
niknameЕсли структура БД не сложна, то имеет смысл попробовать Berkley DB.
Впервые о такой слышу. Можно чуточку поподробнее. Почему Вы советуете именно ее? И почему в случае, если только структура не сложна.
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34253119
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Homosum niknameЕсли структура БД не сложна, то имеет смысл попробовать Berkley DB.
Впервые о такой слышу. Можно чуточку поподробнее. Почему Вы советуете именно ее? И почему в случае, если только структура не сложна.
http://en.wikipedia.org/wiki/Berkeley_DB
В общем, это один большой индекс. Никаких тебе таблиц, никаких SQL, никаких сетевых клиентов просто индексированые блоки данных.
Очень просто работать, очень быстрый доступ к данным, но разбирать данные надо самостоятельно.
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34310830
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlТак там написано что MSDASQL признан устаревшим. Не ODBC, а MSDASQL! Не технология в целом, а один единственный драйвер

А других у микрософт нет.

White Owl Для ADO я такой dll ни разу не видел.

боюсь вас разочаровать. ADO [msado15.dll]- обертка над OLEDB [oledb32.dll]. Вы же не будете отрицать что это чисто Си-подобный интерфес, а следовательно устаревший идеалогически. Причем для x64 его даже не стали делать. Хотя скорее всего по завякам телезрителей заимплементят, не майкрософт, a другие.

White Owl Все ADO коннекты делают вызовы к физическим драйверам сделаным по ODBC или OLE DB принципам.

Слово принципы врядли тут уместны. интересно что вы под этим подразумеваете ?

ODBC процедурный доступ, а ADO ООП.
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34311368
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Homosum пишет:

> Как Вы считаете, что лучше использовать (с точки зрения
> производительности) ODBC

ODBC

(а именно классы MFC для работы с ним)

Ни в коем случае не эти классы. Либо использовать ODBC API
напрямую, либо искать какие=то альтернативные библиотеки, либо
самому такую написать.

В MFC эти классы (для работы с БД) были видимо написаны
по разнарядке, чтобы типа в MFC была бы формально поддержка
работы с БД. Для реальной работы с БД они предназначены
плохо.

> Какие плюсы и минусы у обеих технологий?

ADO очень высокоуровневое. Там большая накладуха. Впрочем я не большой знаток
ADO, могу и ошибаться. Но зато программировать на нем наверное проще.
ODBC сложен в понимании и программировании. Но если ты его знаешь, то
особых проблем нет.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34311396
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl пишет:

> MFC обертка для ODBC - ни в коем случае.
> Почему?
> Слишком много глюков, слишком мало документации.

Да нет, все там документировано, и глюков там нет,
если работает оно с родной СУБД (MSSQLServer), для
которой оно было написано. Дело в другом - эти классы
в принципе не предназначены, чтобы на них работать
с БД. Они были предназначены для того, чтобы на их
основе слепить визард для создания MFC-приложений
для работы с БД. И потом отчитаться, что в MFC есть
поддержка работы с БД. Если пытаться сделать что-то
другое - MFC-шные классы становяться неудобными, неповоротливыми,
и ненужными. Т.е. легче на ODBC API написать, чем на них.

К тому же эти классы занимаются тем, чего никогда нельзя
делать - самостоятельным генерированием SQL. Правда
это конечно можно там обойти ...

> Намного лучше и проще сделать свою собственную обертку.

С этим согласен. И даже делал неоднократно так сам.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34311406
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl пишет:

> результата запроса. Складировние результата в память по сравнению с этим
> уже ничего не значит.

Ну, не сказал бы, что не значит. Иногда очень даже значит. Например при
выкачивании данных огромных размеров. Специфичная конечно задача, но
я думаю это именно тот случай, когда ADO будет неприемлимо.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34311408
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik пишет:

> ODBC нерекомендованная компанией Микрософт и поддерживается только из-за
> совместимости.

Кто сказал такое ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34311417
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0 пишет:

> Для приложений типа хэллоу мир - покатит. А если что нить серьёзное, под
> серьёзный движок с длиной запроса в сикволе пару десятков тыщ байт и
> несколько десятков таблиц (и всё это в лёт на рантайме генериться) - не
> прокатит...

Длина запроса не имеет никакого значения.
Имееют значение фичи библиотеки.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34311433
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old пишет:
> заниматься этим самому. Хороших С++ ОО библиотеки мне тогда найти не
> удалось (правда позже оказалось, что существует очень проработанная C++
> ОО библиотека).

Какая ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34311448
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Homosum пишет:
> Я собираюсь писать приложения для работы с нейронными сетями (научная
> работа), а там очень много итераций и много обращений к базе данных.
> Поэтому и встал вопрос о выборе технологии. Важны даже миллисекунды.

Посмотрите на GNU ODBC++
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34312053
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уж и выбирать, то не между ADO и ODBC, а между OLEDB и ODBC.
ADO- высокоуровневая обёртка над OLEDB, предназначенная для скриптовых языков.в ADO биндинга с переменными нет и в помине.(SQLBindCol или IAccessor::CreateAccessor)

ODBC , на мой взгляд, требует меньше писанины, чем OLEDB, да и документация покороче :)

P.S. Слухи о смерти ODBC сильно преувеличены, но это тема для отдельного обсуждения.
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34314258
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторюсь, если кто не заметил:
ADO - это не родной С++ ООП, это ActiveX, и использовать его из C++ приятного мало. Откройте хелпы по АДО в мсдн - и 95% там будет код на VB. Из VB использовать ActiveX - приятно.
Насчет OLEDB. Почитайте тот-же мсдн про оледб. Почитайте раз, два, три - и начнет болеть голова, а ответа как вызвать запрос в БД и обработать результат не прийдет. Для себя сделал вывод (заранее допускаю что он поверхностный) - это мощная либа, при работе с которой уже не важно что у вас является источником данных - БД, текстовый файл или OLAP КУБ. Кстати, вот для OLAP и нужен OLEDB. Но OLEDB - опять таки не чистый С++ ООП, а кажется (поправьте если не прав, ибо запямятовал) СОМ, и работаь с ней на порядок сложнее чем даже с ADO.
В результате остается ODBC, и С++ обертки над ним.

2MasterZiv:
Я имел ввиду http://otl.sourceforge.net/
Я эту либу не использовал, но первый взгляд выглядит очень привлекательной, простой в использовании, не перегруженной всякими абстракциями. Работа с БД в стиле stl.
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34383202
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Lepsik пишет:

> ODBC нерекомендованная компанией Микрософт и поддерживается только из-за
> совместимости.

Кто сказал такое ?
Posted via ActualForum NNTP Server 1.3


Explanation from M$ .
ActiveX Data Objects (ADO) is a high-level, easy-to-use interface to OLE DB.
OLE DB is a low-level, high-performance interface to a variety of data
stores.
ODBC is another low-level, high-performance (maybe not-so high-performance,
I think) interface that is designed specifically for relational data stores

A Note on Providers from M$ :
You are strongly encouraged to use one of the native OLE DB Providers
instead of the Microsoft Open Database Connectivity (ODBC) Provider . Native
OLE DB Providers provide better application stability and performance .


http://www.arcknowledge.com/gmane.comp.db.mysql.odbc/2003-12/msg00066.html
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34384590
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik пишет:

> *instead of the Microsoft Open Database Connectivity (ODBC) Provider*.
> Native
> OLE DB Providers provide *better application stability and performance*.

Это чушь собачья. Это может быть MS очень хочет заменить ODBC OLEDB-ёй.
Ну это их девичьи мячты, думаю нифига у них не выйдет. ODBC будет еще жить
долго.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34384994
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0более того, грамотно написанные свои класики (там всего то 2-3 штучки) удобнее юзать... например...
Код: plaintext
1.
2.
		string strIn = "Select бла-бла-бла";
                ...............
с уважением (круглый)
А сколько времени заняло у вас написать эти 2-3 классика? Какие типы данных извлекать из БД можно? Null'ы? Транзакции поддерживаются? А Prepared Statements?
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34385002
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old
Чистый ОДБЦ - отпал, т.к чистый Си и надо писать свою С++ надстройку.

Хороших С++ ОО библиотеки мне тогда найти не удалось (правда позже оказалось, что существует очень проработанная C++ ОО библиотека).

А поделитесь названием этой замечательной библиотеки! :)
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34385031
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amdei пишет:

> Чистый ОДБЦ - отпал, т.к чистый Си и надо писать свою С++ надстройку.

> Хороших С++ ОО библиотеки мне тогда найти не удалось (правда позже
> оказалось, что существует очень проработанная C++ ОО библиотека).

> А поделитесь названием этой замечательной библиотеки! :)

Есть коммерческая RogueWave DBTools, она достаточно хороша и
"может" со многими СУБД и не только через ODBC.
Есть еще GNU ODBC++, но она не очень хорошая, на мой взгляд.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34385047
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amdei пишет:

> А сколько времени заняло у вас написать эти 2-3 классика?

У меня это заняло что-то типа месяца четыре, с изучением с нуля
ODBC. Я тогда был еще молод ...

Какие типы
> данных извлекать из БД можно?

Любые, но на клиенте они все биндились в строковые буфера.

Null'ы?
Не проблема вообще.

Транзакции поддерживаются? А

А транзакции поддерживает не клиент, а СУБД.
Там ничего не надо делать с транзакциями.

> Prepared Statements?

Ну да.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34385535
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Amdei:
Я уже укзал ее название (см. мой пост от 7 февраля). Библтотека OTL
http://otl.sourceforge.net/
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34387857
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv> Null'ы?
Не проблема вообще.

> Prepared Statements?
Ну да.
Гм. А хедер можно посмотреть? И примерчик маленький. Чисто из академического интереса.
*Действительно интересно, особенно PS*.

MasterZiv> Транзакции поддерживаются?

А транзакции поддерживает не клиент, а СУБД.
Там ничего не надо делать с транзакциями.В ODBC? Клиенту делать ничего не надо? А, ну да...
...
Рейтинг: 0 / 0
ODBC или ADO? Что лучше? Как вы думаете?
    #34389430
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amdei пишет:

> Гм. А хедер можно посмотреть? И примерчик маленький. Чисто из

Попробую нарыть в анналах ...

> А транзакции поддерживает не клиент, а СУБД.
> Там ничего не надо делать с транзакциями.
>
> В ODBC? Клиенту делать ничего не надо? А, ну да...

Я не понял, это была ирония или как?
Клиенту действительно ничего не надо делать.
Обеспечить только возможность вызвать SQLStartTran & SQLCommit
или как их там.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / ODBC или ADO? Что лучше? Как вы думаете?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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