b>j)΄!Pԫ&;"kB޶}pSVT(wę!j x;-m@JnQ+պכ7MajfJͱ4jѲ撆RxZMz7vIW/dٞТזcZM~ji ߒsQzԠDW3Den"M+/B:-uIJ7j委9p='mANޭ=/B:-n&nUfqxZM~c Ϲ+,&ᾺܢF[(1*" ϒ"Jԧ<;b" "jܢF[x ,!q қ*]/؝27SMcs"ޭDQ/应ܢF_! :s" 7`F+SVTn"IJnQ/应B 4 wD"IJ׭-`S9DrjiEJ߅gJ应矁[xZM~n"IB؃!'Тѕ+(mIKʭ/|ϐܢF[xZMzG %嬩/c[[ Поддержка параллельных транзакций в ADO.NET провайдере.

Поддержка параллельных транзакций в ADO.NET провайдере.

Привет всем.

На сайте IBProvider-a доступен для скачивания инсталлятор с новыми сборками .NET провайдера — 1.0.0.1946.

Основным нововведением является возможность создания параллельных транзакций в рамках одного подключения к базе данных. Пример.

После достаточно продолжительного размышления по поводу реализации этой функциональности, я пришел к выводу что надо просто создавать раздельные объекты OleDbConnection привязанные к одному COM-объекту подключения (OLEDB DataSource), но разным COM-объектам сессий (это OLEDB компоненты для управления транзакциями). По аналогии с решением для классического ADODB.

С этими «клонами» подключения можно без проблем работать в разных потоках — IBProvider обеспечивает всю необходимую синхронизацию.

Другие изменения.

1. Добавлен класс OleDbEnumerator. С его помощью можно перечислить OLEDB провайдеры зарегистрированные в системе.

2. Добавлен перегруженный метод OleDbConnection.GetSchema(string, object[]).

3. Переработана реализация OleDbConnectionStringBuilder. Это был самый первый класс который я реализовал в рамках .NET провайдера 🙂

Leave a Comment