DB-Library Architecture

DB Library for C

DB Library for C

DB-Library Architecture

For the Microsoft® Win32®-based versions of the DB-Library dynamic-link library (DLL), a separate operating-system thread may be spawned for each connection that DB-Library makes with Microsoft SQL Server™ (depending on the Net-Library in use). Each instance of the DB-Library DLL loaded by a calling process gets a private data area, while sharing code.

Win32-based DB-Library architecture differs from the implementation with the Microsoft Windows® operating system. In Windows, Msdblib3.dll maintains DB-Library connections as a linked list of connections in a single data segment. This architecture is required because Windows DLLs have a single data segment shared among all calling processes. This necessitates the initialization and clean up of the DB-Library DLL data structures through calls to the dbinit and dbwinexit functions. Because dbinit initializes private DB-Library structures and to maintain compatibility with future versions of DB-Library, you should call dbinit for all environments.