IBProvider v3.0.0.4117. Поддержка бинарных данных и кодовой страницы OCTETS
- Поддержка кодовой страницы OCTETS и бинарных данных.
- Исправлена ошибка при работе с VARCHAR больших размеров через MS SQL Linked server.
- Поддержка 64 битных значений в схемах метаданных.
- Завершен конвертор типов, написано 43000 тестов.
Полноценная поддержка кодовой страницы OCTETS и бинарных данных в IBProvider v. 3.0.0.4117
- Корректное определение и передача бинарных данных, хранящихся в колонках CHAR и VARCHAR с кодовой страницей OCTETS
- Поддержка выборки и изменения бинарных данных через ADODB
ActiveX компонент для работы с бинарными данными
Новый ActiveX компонент LCPI.IBP.Samples.BinaryVector упрощает работу с бинарными данными. Исходный код компонента расположен в папке «Samples\oledb\sample_com_object». Доступна компиляция как для 32 битной, так и для 64 битной платформы.
Исправлена ошибка при работе с Firebird и InterBase через MS SQL.
Устранены проблемы при выборке данных через Linked Server для типа VARCHAR с размером больше 4000.
Поддержка 64 битных значений в схемах метаданных
Изменен тип колонок для схем метаданных с UInt32 на UInt64:
- COLUMNS::ORDINAL_POSITION
- COLUMNS::CHARACTER_MAXIMUM_LENGTH
- COLUMNS::CHARACTER_OCTET_LENGTH
- PROCEDURE_COLUMNS::ORDINAL_POSITION
- PROCEDURE_COLUMNS::CHARACTER_MAXIMUM_LENGTH
- PROCEDURE_COLUMNS::CHARACTER_OCTET_LENGTH
- PROCEDURE_PARAMETERS::CHARACTER_MAXIMUM_LENGTH
- PROCEDURE_PARAMETERS::CHARACTER_OCTET_LENGTH
- PROVIDER_TYPES::COLUMN_SIZE
- PRIMARY_KEYS::ORDINAL
- FOREIGN_KEYS::ORDINAL
- KEY_COLUMN_USAGE::ORDINAL_POSITION
- INDEXES::ORDINAL_POSITION
Изменен тип колонок с UInt32 на UInt64 у множеств, получаемых через IColumnsRowset:
- DBCOLUMN_NUMBER
- DBCOLUMN_COLUMNSIZE
О преимуществах 64 битной платформы читайте в статье 10 причин перевести приложение для Firebird и InterBase на 64 bit.
Конвертор типов
Завершена реализация нового конвертора типов IBProvider.
Новый конвертор это:
Максимальная переносимость между платформами
- Конвертор больше не использует средства Windows для преобразования типов. Все преобразования осуществляются внутри ядра провайдера.
- Конвертор осуществляет операции копирования и освобождения VARIANT для устранения проблем связанных с работой сервера на старых версиях Windows (9x, NT4, 2000) не поддерживающих OLE DB типы: VT_I1, VT_UI2, VT_UI4, VT_I8, VT_UI8.
Максимальная поддержка OLE DB типов
Поддержка преобразования простых типов, типа VARIANT, массивов, бинарных данных.
Оптимизация
Уменьшено количество внутренних преобразований и выделений промежуточной памяти.
Надежность
Для проверки работы нового конвертора написаны более 43000 тестов.
Открыт исходный код конвертора и тестов
- Исходный код конвертора расположен в папке «lib\ole_lib\oledb\variant
- Тесты конвертора в папке «TestCode\lib\ole_lib\oledb\variant\test_cvt
- C++ и VBS-Тесты провайдера в папке «TestCode\ActiveX\IBP»