2009-08-17 5 views
2

Я запускаю pywin32 для python 2.5.Python/ADOX: 'Указанный модуль не найден.' (расширения win32)

Я следую инструкциям для ADO python, указанному в http://www.ecp.cc/pyado.html.

Создание объекта ADODB.Recordset отлично работает. Но когда я пытаюсь создать объект ADOX.Catalog Я получаю сообщение об ошибке:

>>> cat=win32com.client.Dispatch(r'ADOX.Catalog') 
Traceback (most recent call last): 
    File "<interactive input>", line 1, in <module> 
    File "C:\Python25\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch 
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx) 
    File "C:\Python25\lib\site-packages\win32com\client\dynamic.py", line 98, in _GetGoodDispatchAndUserName 
    return (_GetGoodDispatch(IDispatch, clsctx), userName) 
    File "C:\Python25\lib\site-packages\win32com\client\dynamic.py", line 78, in _GetGoodDispatch 
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch) 
com_error: (-2147024770, 'The specified module could not be found.', None, None) 

Любые идеи, что я мог бы быть отсутствующий?

ответ

4

Решение: несмотря на то, что ADOX показывался в браузере COM в качестве доступной библиотеки, он не был «зарегистрирован» должным образом. Следуя инструкциям here, я выполнил следующее в Пуск-> Выполнить строку:

 
regsvr32 "C:\Program Files\Common Files\System\ado\msadox.dll" 

Обратите внимание, что это на SP2 машине WinXP. Думаю, реестр каким-то образом стал коррумпированным? В любом случае, я новичок в программировании Windows, поэтому мое объяснение может быть отключено, но, возможно, исправление поможет кому-то.

 Смежные вопросы

  • Нет связанных вопросов^_^