English version Russian version




Изменения в IBprovider

 Таковых, в принципе, нет. Последнее изменение было внесено по заявке Claudio Walderrama C. и представляло собой реализацию режима авто-подтверждения операций. Зато мы исправили следующие ошибки:

  1. Prepare возвращал результат автокоммита, а не код самой операции подготовки запроса. Потребовалось больше месяца, чтобы допустить первую ошибку в запросе и удивиться странному сообщению о ней.
  2. Провайдер не пропускал значения параметров с типом DBTYPE_EMPTY, не смотря на то, что для этого значения был установлен признак NULL. В ADO такое невозможно, поскольку тот всегда передает параметры как DBTYPE_VARIANT.
  3. Наконец дошли руки до написания кода, возвращающего осмысленные сообщения об ошибках конвертирования параметров в их аналоги InterBase. По крайней мере, теперь в тексте указывается номер проблемного параметра.

Изменения в клиентской библиотеке

 Все остальные новости связаны с библиотекой взаимодействия с OLEDB. Надо заметить, что по моим предположениям, её никто не использует. С другой стороны, я натыкался на обсуждения, в которых все сводилось к тому, что ADO гораздо удобнее и проще. Отдельные личности описывали использование OLEDB Templates из ATL для взаимодействия с провайдером в обход ADO. Если с первыми я еще могу спорить, то вторых мне просто жалко. Спорить я буду по той причине, что у меня есть живой пример, написанный полностью через нашу библиотеку. А почему жалко - посмотрите на примеры из OLEDB references. Тривиальные операции требуют тонны строчек для подготовки операции, а потом столько же для обработки её результатов. Поддержка из ATL не очень далеко ушла от этого уровня. По крайней мере, мне так кажется. Короче, на этот раз мы публикуем пары примеров для ADO (на VBA) и С++ (BCB3). Так что, для сравнения не нужно особенно напрягаться.

Но если вы все таки заглядывали в эту библиотеку, то вот список изменений:

  1. Убиты ошибки в t_db_command::describe_params. В общем, это была абсолютно не работоспособная функция, поскольку она (до написания новых примеров для сайта) ни разу не использовалась и не тестировалась. Сейчас вроде все тип-топ.
  2. Поскольку проект мы пишем с использованием VCL, то после тысячного преобразования string в AnsiString, мы реализовали поддержку AnsiString при приеме-передаче данных. Как и что именно - см. class t_db_field_row_data. Замечу только, что эта поддержка зависит от наличия макроса _USE_VCL_.
  3. При написании примеров для сайта, я понял, что для полной схожести не хватает простоты подключения к базе данных. Теперь, после переработки t_db_data_source::attach, подключение стало простым до безобразия. Изучив первый пример вы это тоже поймете.
  4. Большой и нудный класс конвертирования OLEDB типов друг в друга избавился от операторов неявного преобразования типов. Это я сообщаю только для сведения.

 В декабре мы написали, что в каталоге Lib\Interbase вы найдете низкоуровневую библиотеку C++ классов для взаимодействия с сервером. Забавно, но гневных писем, уличающих в обмане, не последовало. На этот раз мы не забыли это сделать. Более того, в январе мы избавились от её привязанности к компиляторам Borland и вообще к Windows. Другим компилятором стал GCC (ну очень привередливый), а платформой FreeBSD. По идее Visual C++ тоже должен суметь её откомпилировать. Но это не проверялось.
 К сожалению, у нас катастрофически не хватает времени для раскрутки этой библиотеки, поэтому здесь я могу сказать только одно - IB API очень элегантная вещь. Нормальная библиотека должна только грамотно сгруппировать её функции и предоставить нормальный способ управления XSQLDA структурой. Этот "минимум" в библиотеке реализован. За 2.5 года не было ни одной глобальной перестановки. Некоторые моменты, конечно, можно улучшить. Вообщем, если вы заинтересовались, то скачивайте, изучайте и задавайте вопросы.

Остальное

  • Чем больше живешь, тем сильнее убеждаешься в том, что любая вещь появляется за счет усилий одного человека. Так и наш (очередной новый) сайт появился благодаря Тихонову Юрию. Все пожелания, замечания, деньги высылайте ему.
  • CVS - это просто чума. За 3 месяца использования я уже стал забывать о существовании таких проблем как синхронизация исходных текстов. И становится жалко ранее потерянного времени.
  • Поразительно, но FireBird на PIII-667 256MB (WIN2000) работает в 4 раза быстрее, чем IB5.6 на Cel-266 128MB (WorkStation NT4). Я так и не понял, как это им удалось добиться такого повышения производительности :) .
  • Господа, сомневающиеся в достоинствах COM технологиях (ADO и OLEDB в частности). Я наконец-то реализовал свою давнюю мечту смешивания С++ и VB кода. Как это связано с провайдером? Связь в том, что нужно было реализовывать сложную логику записи данных в базу данных. И эта логика не должна быть раз и навсегда прошитой в программу. Использование VBScript и ADO решило эту самую болезненную часть проекта. Шлюз OLEDB-ADO можно найти в нашей библиотеке и в примерах. Правда, для достижения максимальной интеграции, нужны незаурядные способности в проектировании и огромный опыт в создании компонент автоматизации. Короче, 5 лет программирования на С++ и использование COM в течении 3 лет :). Ну может я чуть преувеличил. Чтобы запугать. Причина веселья - спихивание части задач на программистов заказчика (чья-то радость непременно является чьим-то горем). Реальный пример из реальной жизни :).
  • Ну и наконец, когда мы продолжим развивать IBProvider? А мы и не останавливались. Вот только это не те изменения, которые вы ожидаете. В основном вылизывается внутренняя реализация, и регулярно проводится "большое" тестирование в виде перекачки базы данных нашего клиента из старой структуры в новую. С качеством первого вы можете ознакомиться в каталоге lib, а второе замучило FireBird декабрьского выпуска (IB5.6 и IB6.x это издевательство выдерживали). Кроме того, есть очень простая для понимания истина: не в провайдере счастье, а в проектах его использующих. Я стараюсь не отворачиваться от ваших писем (впрочем, их было не очень много), но недовольным было бы неплохо почаще задавать себе вопрос - "А кому легко?".

Забобрить эту страницу! Добавить на Memori.ru Mr Wong Добавить в закладки МоёМесто.ru Добавить на Rumarkz Добавить на Rucity Digg It Reddit Technorati Del.icio.us Google Bookmarks Slashdot StumbleUpon Yahoo MyWeb Все

Дата публикации: 01.03.2001. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт http://www.ibprovider.com обязательна.

Все новости IBProvider:
06.11.2008 Новый IBProvider – поддержка 49 кодовых страниц, возможность работы без регистрации провайдера, предотвращение утечки памяти в Firebird клиенте.
03.10.2008 В новой версии IBProvider Professional Edition добавлено 7 кодовых страниц, исправлены ошибки, улучшен механизм работы с памятью и доступ к BLOB-полям
25.08.2008 6 мировая конференция по Firebird пройдет в Бергамо с 25 по 27 сентября 2008 года. Открыта регистрация
30.07.2008 Доступны новые версии IBProvider. Улучшена работа с NUMERIC-типами и с пулом подключений. В схемах метаданных добавлена поддержка внешних и временных таблиц. В 2,5 раза повышена производительность с отключенным кешем метаданных.
08.07.2008 Выпущен IBProvider Release Candidate 3. Поддержка аутентификации Windows для Firebird 2.1, поддержка длинных имен и Boolean типа для Interbase 7 и Interbase 2007, и т.д.
17.06.2008 Новые версии IBProvider. Поддержка бинарных данных и кодовой страницы OCTETS, 64 битные колонки в схемах метаданных, релиз конвертора типов.
12.05.2008 Доступны новые версии IBProvider. Полностью обновлен конвертор типов.
07.04.2008 Новый IBProvider v3 для 64 битных ОС.
11.03.2008 Новая версия IBProvider v.3.0 RC2 [buid 3965].
08.02.2008 Доступны новые версии IBProvider. Улучшена поддержка Visual Studio 2008, реализован новый механизм распределенных транзакций, исправлены ошибки и улучшена совместимость с различными серверами Firebird и Interbase.
26.12.2007 Изменились лицензии на IBProvider, а так же появилась возможность покупать IBProvider со скидкой.
08.11.2007 23 ноября 2007 года в Москве пройдет вторая российская конференция по Firebird и Interbase. Специальная акция для участников.
30.10.2007 Новая версия IBProvider Free Edition (3.0.0.3313 Release Candidate 2 [RC2]).
29.10.2007 Новая версия IBProvider v3 Release Candidate 2 (RC2).
18.10.2007 Новая версия IBProvider Professional Edition. Улучшена интеграция с Microsoft Office. Исправлены известные ошибки.
13.09.2007 Новые версии провайдеров в составе IBProvider Professional теперь могут работать в среде Microsoft SQL Server 2005 Business Intelligence Development Studio.
20.07.2007 Выпущены редакции IBProvider Professional Edition и IBProvider Free Edition поддерживающие Firebird 2.1.
25.05.2007 Возобновлена работа механизма скачиваний. Персональная доставка новых версий будет более оперативной.
27.04.2007 Новые редакции IBProvider Professional и IBProvider Free уже на сайте!
13.12.2006 Новая версия библиотеки классов C++ для работы с OLE DB-провайдерами. Реализована поддержка Unicode проектов.
04.12.2006 Опубликованы последние релизы: IBProvider Professional Edition - профессиональное решение для создания приложений баз данных для Interbase и Firebird. IBProvider Free Edition - обновленная бесплатная версия на базе третьей версии IBProvider
07.10.2006 Новые версии IBProvider 3.0.0.2385 [RC1] и IBProvider 2.5.0.2088 [Релиз]. Добавлены псевдонимы Charset, PSWD. Оптимизация чтения метаданных и парсера SQL запросов. Поддержка работы с массивами в ADO .Net.
28.08.2006 Новые версии провайдеров: IBProvider 3.0.0.2065 [Beta] и IBProvider 2.4.7.2034 [Релиз]. Улучшенная интеграция с MSSQL 2000/2005.
13.08.2006 IBProvider 3.0.0.1959 [Beta]. IBProvider 2.4.6.1989 [Релиз]. Библиотека классов С++ для работы с OLEDB провайдерами теперь поддерживает VC8 (VS2005).
25.05.2006 IBProvider 3.0.0.1324 [Beta]. IBProvider 2.4.5.1953 [Релиз]. Клиентская библиотека для C++.
05.05.2006 Изменение цены на IBProvider. Доступны новые демо версии
30.03.2006 IBProvider release v.2.4.4 (v.1.7.26) build 1885 now available. IBProvider v.3 [сборка 1107. бета]
27.02.2006 IBProvider v.1/v.2 [cборка 1877 Release Candidate 1]. IBProvider v.3 [сборка 1062. бета]
30.11.2005 IBProvider 2.4.3.1859. Релиз.
01.11.2005 Решение проблемы с арифметическими ошибками в .NET приложениях.
28.09.2005 IBProvider v3 [сборка 913] [beta version].
22.09.2005 IBProvider v3 [сборка 890] [beta version]. IBProvider v2/v1 [сборка 1811].
01.09.2005 Журнал для разработчиков под Interbase и Firebird.
28.07.2005 IBProvider v3 [сборка 789] [beta version]. IBProvider v2/v1 [сборка 1802].
15.06.2005 IBProvider v3 [сборка 779] [beta version]. IBProvider v2/v1 [сборка 1795].
12.04.2005 Открыт форум для пользователей IBProvider
22.03.2005 IBProvider 2.4.2.1772. Релиз.
28.02.2005 IBProvider 3.0.0.639 beta. Изменение корпоративной лицензии.
11.02.2005 IBProvider 3.0.0.573 beta.
24.12.2004 IBProvider 3.0.0.449 beta.
12.11.2004 IBProvider 2.4.1.1720/1.7.23.1720. Релиз.
31.05.2004 IBProvider 2.4.0.1607/1.7.22.1607. Релиз.
14.05.2004 Релиз кандидат 2.4.0.1588/1.7.22.1588
30.04.2004 Версия 2.3.3.1523 beta
29.03.2004 Версия 2.3.3.1416 beta
17.12.2003 Версия 2.3.3.1300
18.10.2003 Версия 2.3.2.1233
22.08.2003 Версия 2.3.1.1184
25.06.2003 Версия 2.3.0.1134 - расширена поддержка MS AS, MS SQL
23.04.2003 Версия 2.2.0.969 - поддержка диалога Data Links, локализация.
31.03.2003 Версия 2.1.2.
26.03.2003 Версия 2.1.1.
04.03.2003 Версия 2.1. Полностью переписан механизм обработки ошибок.
26.02.2003 Скидки на IBProvider.
18.02.2003 Изменение в сроках лицензии
23.01.2003 Версия 2.0.1.735. Исправление ошибок, оптимизация, HTML help
10.12.2002 IBProvider второго поколения
21.11.2002 Версия 1.7.11.584 и 1.8.0.584 beta
06.11.2002 Версия 1.7.10.542 и 1.8.0.542 beta
20.10.2002 Версия 1.7.9.481 и 1.8.0.481 beta
12.08.2002 Версия 1.7.6.350 и 1.8.0.350 beta
30.07.2002 Версия 1.7.5.311 - Исправление ошибок
10.07.2002 Версия 1.7.4.289
20.06.2002 Версия 1.7.3.269
30.05.2002 Версия 1.7.2.255
08.05.2002 Версия 1.7.1
22.04.2002 Версия 1.7.0.227. Поддержка UNICODE. Новые цены.
29.03.2002 Версия 1.6.3.213
28.02.2002 Версия 1.6.2.201
08.02.2002 Версия 1.6.2.199
19.01.2002 Версия 1.6.1.185
24.12.2001 Free Версия 1.5.2
13.12.2001 Версия 1.6
14.11.2001 1.5.1 - Смена компилятора. оптимизация. IColumnsRowset и другое ...
30.08.2001 IN-OUT параметры. массивы. ....
16.07.2001 Ошибка с проверкой подключения в Data Links
21.05.2001 Поддержка хранимых процедур
16.05.2001 Примеры на Delphi от Андрея Семака
14.05.2001 Последний штрих для RowSet
30.04.2001 Выпуск коммерческой версии
20.04.2001 Поддержка DTC и Пула ресурсов
04.04.2001 Поддержка строк. содержащих нулевые символы
16.03.2001 Реализация IOpenRowset::OpenRowset
15.03.2001 Поддержка DECIMAL и NUMERIC
12.03.2001 Исправление ошибок
01.03.2001 Устранены ошибки: специфические и не очень
03.01.2001 Реализация автоматического старта и подтверждения транзакции.
01.12.2000 Тотальная реконструкция IBProvider'а и его клиентской библиотеки.
15.09.2000 Создание версии для IB6. которую Вы увидите только 1 декабря 2000г.

Интересные статьи по Firebird, Interbase



Назад Вперед Сборка сайта № 3.0.0.1682