
|  | Изменения в IBprovider Таковых, в принципе, нет. Последнее изменение было внесено по заявке Claudio Walderrama C. и представляло собой реализацию режима авто-подтверждения операций. Зато мы исправили следующие ошибки: - Prepare возвращал результат автокоммита, а не код самой операции подготовки запроса. Потребовалось больше месяца, чтобы допустить первую ошибку в запросе и удивиться странному сообщению о ней.
- Провайдер не пропускал значения параметров с типом DBTYPE_EMPTY, не смотря на то, что для этого значения был установлен признак NULL. В ADO такое невозможно, поскольку тот всегда передает параметры как DBTYPE_VARIANT.
- Наконец дошли руки до написания кода, возвращающего осмысленные сообщения об ошибках конвертирования параметров в их аналоги InterBase. По крайней мере, теперь в тексте указывается номер проблемного параметра.
Изменения в клиентской библиотеке Все остальные новости связаны с библиотекой взаимодействия с OLEDB. Надо заметить, что по моим предположениям, её никто не использует. С другой стороны, я натыкался на обсуждения, в которых все сводилось к тому, что ADO гораздо удобнее и проще. Отдельные личности описывали использование OLEDB Templates из ATL для взаимодействия с провайдером в обход ADO. Если с первыми я еще могу спорить, то вторых мне просто жалко. Спорить я буду по той причине, что у меня есть живой пример, написанный полностью через нашу библиотеку. А почему жалко - посмотрите на примеры из OLEDB references. Тривиальные операции требуют тонны строчек для подготовки операции, а потом столько же для обработки её результатов. Поддержка из ATL не очень далеко ушла от этого уровня. По крайней мере, мне так кажется. Короче, на этот раз мы публикуем пары примеров для ADO (на VBA) и С++ (BCB3). Так что, для сравнения не нужно особенно напрягаться. Но если вы все таки заглядывали в эту библиотеку, то вот список изменений: - Убиты ошибки в t_db_command::describe_params. В общем, это была абсолютно не работоспособная функция, поскольку она (до написания новых примеров для сайта) ни разу не использовалась и не тестировалась. Сейчас вроде все тип-топ.
- Поскольку проект мы пишем с использованием VCL, то после тысячного преобразования string в AnsiString, мы реализовали поддержку AnsiString при приеме-передаче данных. Как и что именно - см. class t_db_field_row_data. Замечу только, что эта поддержка зависит от наличия макроса _USE_VCL_.
- При написании примеров для сайта, я понял, что для полной схожести не хватает простоты подключения к базе данных. Теперь, после переработки t_db_data_source::attach, подключение стало простым до безобразия. Изучив первый пример вы это тоже поймете.
- Большой и нудный класс конвертирования 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 это издевательство выдерживали). Кроме того, есть очень простая для понимания истина: не в провайдере счастье, а в проектах его использующих. Я стараюсь не отворачиваться от ваших писем (впрочем, их было не очень много), но недовольным было бы неплохо почаще задавать себе вопрос - "А кому легко?".
Дата публикации: 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 | |