2

Python 2.5用にpywin32を実行しています。

http://www.ecp.cc/pyado.htmlにあるpython ADO の指示に従っています。

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

1 に答える 1

4

解決策: ADOX は利用可能なライブラリとして COM ブラウザに表示されていましたが、適切に「登録」されていませんでした。hereの指示に従って、 Start->Run プロンプトで次を実行しました。

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

これは WinXP SP2 マシン上にあることに注意してください。なんらかの理由でレジストリが破損したのでしょうか。いずれにせよ、私は Windows プログラミングに慣れていないので、私の説明が間違っているかもしれませんが、修正が誰かの助けになるかもしれません。

于 2009-08-19T22:15:34.303 に答える