Python / ADOX: 'O módulo especificado não pôde ser encontrado.' (Win32 extensões)

StackOverflow https://stackoverflow.com/questions/1290472

  •  18-09-2019
  •  | 
  •  

Pergunta

Estou correndo pywin32 para Python 2.5.

Eu estou seguindo as instruções para ADO python dado em http://www.ecp.cc/ pyado.html .

Criação de um objeto ADODB.Recordset fina funciona. Mas quando eu tento criar um objeto ADOX.Catalog eu recebo um erro:

>>> 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)

Todas as idéias que eu poderia estar faltando?

Foi útil?

Solução

Solução: embora ADOX estava aparecendo no navegador COM como uma biblioteca disponível, não foi "registrado" corretamente. Seguindo as instruções aqui , I executado o seguinte no Iniciar> Executar prompt:

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

Note que este está em uma máquina WinXP SP2. Eu acho que o registro havia corrompido de alguma forma? Em qualquer caso, eu sou novo em programação Windows, para a minha explicação pode estar fora, mas talvez a correção vai ajudar alguém.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top