
|  | 15 сентября наступило быстрее, чем хотелось бы. Мы реализовали много новых вещей и откорректировали немного старых. В настоящий момент провайдер поддерживает работу с IB4, IB5 и IB6. Все возможные типы InterBase, кроме массивов. Однако то, что мы предлагаем сейчас, не поддерживает IB6. По самым корыстным причинам: у нас нет защиты как у QuickDesk и нет времени на ее разработку. Мы помним про свое обещание, но пока можем только преложить вам прислать код (в исходном тексте), который будет обеспечивать эту защиту. Как только мы ее реализуем, провайдер для IB6 будет доступен для свободного получения. Пока мы не спешим добавлять кардинально новые возможности, поскольку пока на первом месте стоит качество текущих. Поскольку от качества работы этих компонент зависит устойчивость всей программы, мы должны выверять каждый новый шаг. Процесс тестирования затрагивает все. Так BCB3 был забракован (но слишком поздно, поэтому пока все делается на нем). Можно забраковать и IB, но тогда наша работа потеряет смысл :). Сказанное не означает что у нас наступил застой. Просто провайдер - это маленькая, но очень важная, часть основной работы. Кроме нового провайдера, мы предоставляем для всеобщего пользования клиентскую библиотеку на C++. Общей частью клиента с самим провайдером является конвертор типов данных OLE DB и библиотека для написания COM объектов. Плюс несколько вполне работоспособных примеров. Поскольку нам нравится работа с BLOB полями, эти примеры демонстрируют способы ее выполнения (в том числе и используя VBScript). Подробнее об этом - на странице примеров. Мы благодарим всех пользователей, с которыми общались в течение прошедшего месяца. Некоторые новшества появились только благодаря вам. Особое спасибо Дмитрию Кузьменко, благодаря которому все это стало реальностью. Век помнить будем :). Изменения в информационных свойствах источника данных "gdi32 version" - возвращает версию клиентской части IB. Определение производится через наборы специфических функций, присущих каждой версии: - IB4 - должны присутствовать функции "isc_decode_date" и "isc_encode_date"
- IB5 - функции "isc_add_user", "isc_delete_user", "isc_modify_user"
- IB6 - "isc_decode_sql_date", "isc_decode_sql_time", "isc_decode_timestamp", "isc_encode_sql_date", "isc_encode_sql_time", "isc_encode_timestamp"
Версия считается определенной, если найдены все контрольные функции. Теоретически, провайдер требует только IB4, используя для старших версий явную линковку. Поэтому им можно пользоваться для любых доступных на текущий момент клиентских частей IB, созданных для Win32. "db_dialect" - это свойство появляется в доступном наборе только для клиентской части не ниже IB6. Указывает текущий диалект базы данных. Серверы 4x, 5x при запросе диалекта возвращают ошибку, которая интерпретируется как поддержка только 1 диалекта. Будем надеяться, что IB7 будет продолжать возвращать диалект базы данных. "Connection Status" - текущий статус подключения: | DBPROPVAL_CS_UNINITIALIZED =0 | Не инициализированное состояние | | DBPROPVAL_CS_INITIALIZED = 1 | Источник инициализирован | | DBPROPVAL_CS_COMMUNICATIONFAILURE = 2 | Потеря подключения | Проверка подключения проводится с timeout'ом равным 5 секундам. Если за это время не удалось блокировать подключение для монопольного пользования (в многопоточной программе) , то считается что подключение нормальное. "Server Name" - имя сервера, на котором расположена обслуживаемая база данных. Исправлены и изменены свойства: "OLE DB Version" - теперь возвращает "02.00" "Data Source Object Threading" - в провайдере был неправильно указан численный идентификатор данного свойства. Насчет правильности значения свойств "Prepare Commit Behavior" и "Prepare Abort Behavior" - сомнения остаются, поскольку подготовленный запрос остается действительным после выполнения commit и rollback. В тоже время MSDASQL говорит что это не так. Свойства инициализации (подключения к базе данных) "dialect" - требуемый диалект подключения клиента. Этот параметр доступен явно только для клиентских частей не ниже IB6. Но проверяется в любом случае (иначе он передается через расширенные свойства). Правила корректности значения таковы: - Запрашиваемый диалект не выше диалекта базы данных. Если вы ничего не указали или указали 0, то диалект подключения устанавливается равным диалекту базы данных ("db_dialect").
- Диалект подключения не выше поддерживаемого провайдером для текущей клиентской части IB. В настоящий момент это третий диалект для IB6 и первый диалект для IB4, IB5.
Изменено поведение свойства "password". Теперь вы можете получить его значение, если свойство "Persist Security Info" равно true. В противном случае будете получать "*********". Пользователи ADO Express могут поставить галочку у "Allow save password". Если при инициализации вы указываете имя пользователя через свойство "user", а не через "user id", то после подключения имя пользователя будет перемещено в свойство "user id" Удалено малопонятное свойство "Mode". Оно плохо обрабатывалось ADO Express. Свойство "Prompt" имеет значение по умолчанию - не запрашивать пароль у пользователя. К месту сказать - у текущего провайдера MSSQL это свойство было совсем удалено. Для всех свойств без исключения Теперь правильно обрабатываются атрибуты на чтение и на запись свойств. Раньше можно было читать и изменять что угодно. Источник подключений (Data Source) Помимо поддержки новых свойств, эта компонента реализовывает новый интерфейс IPersistFile, позволяющий чтение/запись параметров инициализации из файла. Кроме того, провайдер регистрирует расширение файлов ibp, благодаря чему пользователи ADO могут писать следующий код: Dim cn as new ADODB.Connection cn.Open("file name=d:\database\cur_db.ibp") ADO самостоятельно определит провайдер, заставит его прочитать указанный файл и инициализирует источник данных. Заставить ADO сохранить свойства инициализации в файл не получится. Для сохранения пароля в файле, вы должны установить свойство "Persist Security Info" равным true. Глобальная блокировка на время подключения. Клиентская часть IB может зависать, если проводить параллельные подключения к базам данных. Поэтому в провайдер добавлен код, обеспечивающий последовательность подключений. Сессия (управление транзакций) В процессе попыток заставить пул подключений работать с нашим провайдером, был реализован интерфейс поддержки распределенных транзакций (ITransactionJoin). Документация по поводу того, что именно нужно для этого делать, содержит весьма пространные (с нашей точки зрения) рекомендации. Кроме того, в ней нет никакой связи с двухфазным подтверждением транзакций. Поэтому наша реализация просто выполняет commit или rollback. Это мы сообщаем на всякий случай. Работа с пулом подключений Нам так и не удалось заставить компоненту MSDASC.MSDAINITIALIZE, реализующую пул, проводить кэширование инициализированных компонент. Для выяснения причин, вы можете использовать версию провайдера с генерацией отладочных сообщений. Описание предмета разговора можно найти на http://msdn.microsoft.com/library/techart/pooling2.htm . Затрагивая эту тему, хотелось бы сразу заметить, что (насколько стало понятным из этой статьи), стандартные средства не умеют использовать 1 источник для нескольких клиентов. Только соотношение 1:1. Изменить это можно, интегрируя пул подключений в сам провайдер. То есть сделать это должны мы. Как обычно. Дата публикации: 15.09.2000. Права на материал принадлежат: 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 | |