Многопоточный режим
Firebird ODBC драйвер обеспечивает два уровня защиты нити.
Через совместное использование среды окружения или дескрипторов соединения.
Если драйвер сформирован, используя следующее определение:
#define DRIVER_LOCKED_LEVEL DRIVER_LOCKED_LEVEL_NONE
это означает, что драйвер сформирован без поддержки многопоточного режима.
Это обеспечивает самую быструю эффективность, однако ответственность
за управление потоков перемещена в Firebird клиентскую библиотеку.
Примечание. В последующих версиях эта сборка будет основной, после
выхода версии Firebird 2.0 и старше, так как те версии обеспечат контроль
потоков на уровне клиентской части.
Значение по умолчанию: Если драйвер сформирован, используя следующее определение:
#define DRIVER_LOCKED_LEVEL DRIVER_LOCKED_LEVEL_CONNECT
это означает, что драйвер контролирует потоки на уровне соединения. Другими словами
все потоки которые делают запросы к этому соединению выстраиваются в очередь и
выполняются для одного соединения последовательно.
Если драйвер сформирован, используя следующее определение:
#define DRIVER_LOCKED_LEVEL DRIVER_LOCKED_LEVEL_ENV
это означает, что драйвер контролирует потоки на уровне окружения. Другими словами
все потоки всех соединений одного окружения выстраиваются в очередь и
выполняются последовательно. Это не самая лучшая блокировка, так как в одно
окружение попадают все соединения с одной базой, но разных приложений на
одном рабочем месте.