2014-01-20 1 views

ответ

0

См. MSDN для информации COM. Вы должны называть его один раз для каждого дополнительного потока в приложении, поэтому я думаю, вам нужно либо взломать пул потоков, либо установить флажок в потоке, если COM инициализирован. Обратите внимание: вы должны позвонить CoUninitialize(), когда поток завершается, и это еще одна проблема, которую вы не можете решить с помощью флага.

Или вы могли бы использовать другой БД, например pyodbc - он, похоже, не использует COM.

+0

Спасибо, что посмотрел нить -local flag.Невероятно, что даже когда я вынимаю все вызовы CoInitialize, сервер CherryPy отлично работает, и данные на все работают. Похоже, они не требуются. – MobileGuy

+0

Ну, COM может делать неприятные вещи для вашего приложения, если вы не делаете это правильно, поэтому убедитесь, что вы его запустили, если ваша библиотека lib не делает этого. – jwalker