Archive for 'OLE DB'

«Data Link» и «Integrated Security»

Внезапно обнаружил, что в стандартном диалоге «Data Link» для выбора OLE DB провайдера и настройки подключения починили поддержку свойства «Integrated Security». Раньше для выключения интегрированной аутентификации надо было в PropertyBag сохранять специальное значение «NONE», потому что EMPTY (пустое значение) конвертировалось в пустую строку. Теперь можно писать EMPTY — не конвертируется. Это на Windows 10. Я […]

Дилемма

Возникла забавная ситуация, в которой неправильное решение более притягательно, чем правильное. Отчасти «потому что могу». В OLE DB запрещен вызов метода IDBInitialize::Uninitialize, если у источника данных есть открытые дочерние объекты (сессии, команды, наборы рядов). It is an error to call IDBInitialize::Uninitialize when there are open sessions, commands, or rowsets on the data source object; that […]

Вау!

Оказывается я пропустил весьма занятную новость. Announcing the new release of OLE DB Driver for SQL Server Previously, Microsoft announced deprecation of the Microsoft OLE DB Provider for SQL Server, part of the SQL Server Native Client (SNAC). At the time, this decision was made to try to provide more simplicity for the developer story […]

DBTYPE_EMPTY и DBTYPE_NULL

Привет всем. Через 18 лет (радует что не 20) сформировалось полное понимание назначения типов данных DBTYPE_EMPTY и DBTYPE_NULL. DBTYPE_EMPTY обозначает отсутствие значения как такового. Указание данных с типом DBTYPE_EMPTY — это сигнал использовать значения по умолчанию. Это же самое что указать статус данных DBSTATUS_S_DEFAULT. DBTYPE_NULL обозначает NULL-состояние данных. Это же самое что указать статус данных […]

Совместная работа ADO.NET, ADODB и OLEDB.

Привет всем. На сайт IBProvider-а выложен новый пример на C#, с демонстрацией взаимодействия трех технологий: ADO.NET, ADODB, OLEDB. Достаточно короткий и простой: Проект этого примера можно найти в дистрибутиве ADO.NET провайдера. ADO.NET провайдер создает подключение к базе данных Подключаем ADODB к ADO.NET ADODB инициирует транзакцию в этом подключении Создаем компонент IBGenManager и подключаем его к […]

Асинхронная загрузка данных в IBProvider.

Привет всем. На сайт загружены дистрибутивы нового триала IBProvider-a (v3.14), в котором реализована полноценная поддержка асинхронной загрузки результирующего множества.

Текущее состояние.

Привет всем. Сегодня были собраны финальные бинарники следующего выпуска провайдера (v3.13) и запущено их релизное тестирование. Была мысль после v3.12 выпустить v3.14. Но потом подумал — после всех десятков килотонн тестов, которые были выполнены в процессе разработки (и выполняются в данный момент) проявлять такое суеверие просто несерьезно :).

Выравнивание структур в OLEDB.

Привет всем. Обнаружил интересную штуку в заголовочном файле «oledb.h». Оказывается, при компиляции 32-битных бинарников применяется выравнивание равное 2. А при компиляции 64-битных бинарников — выравнивание равное 8. Вот так вот живешь, и не знаешь про эти засады на 32-битной платформе.

Архитектурные ошибки OLEDB. Передача данных в виде COM-объектов.

При плотной работе с OLEDB интерфейсами, рано или поздно обнаруживаются мелкие «дыры». Которые создают неоправданную нагрузку на реализацию провайдера и потенциально могут приводить к утечкам ресурсов. К счастью, этих «дыр» очень мало. Одна из них — связана с передачей данных в виде прямого указателя на COM-объект (ICommand::Execute, IRowsetChange::SetData, IRowsetChange::Insert).

Миф №2. OLEDB не позволяет воспользоваться всеми преимуществами сервера.

За те 10 лет, что я вожусь с OLEDB, я все сильнее склоняюсь к мысли, что OLEDB больше предназначено для IB/FB, чем для MSSQL. Что говорит о незаурядных способностях его авторов. Да ладно, скажу прямо — его спроектировал МЕГА МОЗГ, не обремененный ограничениями окружающей действительности 96 (или 98?) года. Из существующих ограничений, вот так вот […]

« Older Entries