ODBC: проблема эффективного ввода/вывода.
От: К.М. Максимов Россия  
Дата: 05.09.03 03:42
Оценка: 90 (5)
Статья:
ODBC: проблема эффективного ввода/вывода.
Автор(ы): К.М. Максимов
Дата: 05.09.2003
В этой статье рассматривается "долгожитель" – Open Data-Base Connectivity (ODBC), а именно некоторые аспекты ввода-вывода с использованием этого API.


Авторы:
К.М. Максимов

Аннотация:
В этой статье рассматривается "долгожитель" – Open Data-Base Connectivity (ODBC), а именно некоторые аспекты ввода-вывода с использованием этого API.
Re: ODBC: проблема эффективного ввода/вывода.
От: william_j  
Дата: 05.09.03 14:52
Оценка:
Очень интересный подход.

Меня тоже при работе с MFC-обертками многое не устраивало. Я так и не нашел нормальной библиотеки для работы с ODBC из С++.

Приведенная в статье реализация видимо имеет следующие недостатки:
— работает только с ограниченными возможностями ODBC;
— не имеет хорошей обработки ошибок, что необходимо для серьезных приложений;
— неизвестно где и с каким успехом она применялась;
Re[2]: ODBC: проблема эффективного ввода/вывода.
От: McSimoff Россия  
Дата: 06.09.03 09:39
Оценка:
Здравствуйте, william_j, Вы писали:

_>Очень интересный подход.


_>Меня тоже при работе с MFC-обертками многое не устраивало. Я так и не нашел нормальной библиотеки для работы с ODBC из С++.


_>Приведенная в статье реализация видимо имеет следующие недостатки:

_> — работает только с ограниченными возможностями ODBC;
_> — не имеет хорошей обработки ошибок, что необходимо для серьезных приложений;
_> — неизвестно где и с каким успехом она применялась;

С п.1 я согласен. Я предложил альтернативу чистому ODBC API и классам MFC.

По п.2 Обработка ошибок присутствует (необходимый минимум) для определения успешно сработал SQL-запрос или не успешно. К тому же никто Вам не запрещает добавить нужную обработку. Честно говоря, в статье приведён усечённый код. На практике у меня используются улучшенные версии этих функций. (статья вообще была год назад написана).

По п.3. Применяется в моей работе, успешно, особенно когда нужно делать много разных SQL-запросов, вызывать хранимые процедуры или вообще генерировать эти SQL-запросы динамически.
Ну, а принцип использования переменного числа аргументов очень стар и его редко используют, а зря . Мне было интересно узнать и ваши применения va_list/va_arg.

А вообще мне очень хотелось поделиться с коллегами своими идеями.
Re: ODBC: проблема эффективного ввода/вывода.
От: Аноним  
Дата: 16.09.03 09:06
Оценка:
Здравствуйте, К.М. Максимов, Вы писали:

КММ>Статья:

КММ>ODBC: проблема эффективного ввода/вывода.

КММ>Авторы:

КММ> К.М. Максимов

КММ>Аннотация:

КММ>В этой статье рассматривается "долгожитель" – Open Data-Base Connectivity (ODBC), а именно некоторые аспекты ввода-вывода с использованием этого API.

если Вы приводите исходники так проверяйте чтобы они хотя бы компилировались. вот например функция db_printf с ошибками компилируется
Re: ODBC: проблема эффективного ввода/вывода.
От: screw_cms Россия ICQ: 168185721
Дата: 16.09.03 09:42
Оценка:
Здравствуйте, К.М. Максимов

Читал я эту статью. Она меня не заинтересовала по причине слабй функциональности предложенного метода. Я согласен с необходимостью переметризации — поэтому хочу поделиться тем, что сам нарыл решая данную проблему. См. классы CODBCRecordset(www.codeproject.com/database/odbcrecordset.asp) и (другой автор добавил функионала) CMyRecordset + CMyDatabase (www.codeproject.com/database/myrecordset.asp). Там тоже есть чего улучшить — но эти классы ДЕЙСТВИТЕЛЬНО удобное решение параметризации. Минус — необходимость использовать MFC
When in doubt, use brute force. © Ken Thompson

Re[2]: ODBC: проблема эффективного ввода/вывода.
От: AlekseyFromUral  
Дата: 16.09.03 10:50
Оценка:
Здравствуйте, screw_cms, Вы писали:

ДЕЙСТВИТЕЛЬНО удобное решение параметризации. Минус — необходимость использовать MFC
http://home.worldonline.dk/viksoe/dbwrappers.htm
спасет отца русской демократии
CString использовать из WTL

Правда куча багов

Но с "нуля" вряд ли кто решится написать такую штуку. Работать надо
А тут на тебе — баги правь и вперед

Короче советую, если кто еще не видел

Главный плюс, что есть возможность переключаться на OLEDB например без
переписывания кода.(пример то же ест на сайте)

Удачи
Re[3]: ODBC: проблема эффективного ввода/вывода.
От: screw_cms Россия ICQ: 168185721
Дата: 16.09.03 11:09
Оценка:
Здравствуйте, AlekseyFromUral, Вы писали:


AFU>ДЕЙСТВИТЕЛЬНО удобное решение параметризации. Минус — необходимость использовать MFC

AFU>http://home.worldonline.dk/viksoe/dbwrappers.htm
AFU>Удачи

Вы, наверное, неправильно меня поняли... Я имел в виду именно ПАРАМЕТРИЗАЦИЮ а не универсальную обвяку 2-х API. Чтобы убедить меня в обратном покажите, плиз, как я могу получить количество, и типы параметров хранимой процедуры а также получить значения OUTPUT параметров после выполнения ? Элементарную параметризацию столбцов select запроса выполняет и "слабенький" CODBCRecorset...

Всего хорошего
When in doubt, use brute force. © Ken Thompson

Re[4]: ODBC: проблема эффективного ввода/вывода.
От: AlekseyFromUral  
Дата: 16.09.03 11:12
Оценка:
Здравствуйте, screw_cms, Вы писали:

_>Здравствуйте, AlekseyFromUral, Вы писали:



AFU>>ДЕЙСТВИТЕЛЬНО удобное решение параметризации. Минус — необходимость использовать MFC

AFU>>http://home.worldonline.dk/viksoe/dbwrappers.htm
AFU>>Удачи

_>Вы, наверное, неправильно меня поняли... Я имел в виду именно ПАРАМЕТРИЗАЦИЮ а не универсальную обвяку 2-х API. Чтобы убедить меня в обратном покажите, плиз, как я могу получить количество, и типы параметров хранимой процедуры а также получить значения OUTPUT параметров после выполнения ? Элементарную параметризацию столбцов select запроса выполняет и "слабенький" CODBCRecorset...


_>Всего хорошего

Сорри
Re: ODBC: проблема эффективного ввода/вывода.
От: Cath Россия  
Дата: 15.03.04 10:03
Оценка:
Здравствуйте, К.М. Максимов, Вы писали:

в своей статье — КММ>Статья: вы вставили таблицу 1. и сослались на то, что ее можно найти в MSDN. Вообще возникает такой вопрос:"К какой категории относится последняя строка в таблице?"
Далее, цитирую:"ODBC – это стандартный интерфейс, который существует во многих операционных системах, а в Windows 95 и последующие версии Windows он встроен."
Так как статья достаточно свежая, то эта фраза, по поводу встроенности ODBC во все ОС Windows, как минимум, настораживает!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.