× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hello Cesco and Calvin,

thanks for your opinions and hints! I've passed this along to the .NET guy for consideration.

All in all, the below snippet is some evidence that drivers have to be basically thread safe according to specs, and there are just different levels of "protection" through the threading parameter.


Am 30.06.2025 um 15:52 schrieb cesco via MIDRANGE-L <midrange-l@xxxxxxxxxxxxxxxxxx>:

For reader convenience, this is the source comment... apparently higher values will mutex your driver into oblivion ;-)
242 /*
243 * use just one mutex for all the lists, this avoids any issues
244 * with deadlocks, the performance issue should be minimal, if it
245 * turns out to be a problem, we can readdress this
246 *
247 * We also have a mutex to protect the connection pooling code
248 *
249 * If compiled with thread support the DM allows four different
250 * thread strategies:
251 *
252 * Level 0 - Only the DM internal structures are protected.
253 * The driver is assumed to take care of itself
254 *
255 * Level 1 - The driver is protected down to the statement level.
256 * Each statement will be protected, and the same for the connect
257 * level for connect functions. Note that descriptors are considered
258 * equal to statements when it comes to thread protection.
259 *
260 * Level 2 - The driver is protected at the connection level. Only
261 * one thread can be in a particular driver at one time.
262 *
263 * Level 3 - The driver is protected at the env level, only one thing
264 * at a time.
265 *
266 * By default the driver opens connections with lock level 0; drivers
267 * are expected to be thread safe now. This can be changed by adding
268 * the line
269 *
270 * Threading = N
271 *
272 * to the driver entry in odbcinst.ini, where N is the locking level
273 * (0-3)
274 *
275 */

:wq! PoC



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.