2014-01-20 82 views
0

我使用ADO從cherrypy連接到SQL服務器。我應該在哪裏放:我在哪裏放CoInitialize?

pythoncom.CoInitialize() 

裏面的__init__或裏面的索引方法在哪裏執行GET?

謝謝!

回答

0

有關COM信息,請參閱MSDN。你應該爲應用程序中的每個附加線程調用一次,所以我猜你或者需要破解進入線程池,或者如果COM初始化了,就有一個線程本地標誌。請注意,當線程終止時,應該調用CoUninitialize(),這是另一個無法用標誌解決的問題。

或者你可以使用不同的數據庫庫像pyodbc - 它似乎不使用COM。

+0

謝謝生病簽出線程本地標誌。奇怪的是,即使當我拿出所有的CoInitialize調用,CherryPy服務器工作正常,數據調用都工作。看起來他們不是必需的。 – MobileGuy

+0

好吧,如果你的程序沒有正確執行,COM可以爲你的應用程序做一些令人討厭的事情,所以如果你的數據庫lib沒有這樣做的話,確保你啓動它。 – jwalker