2017-01-31 35 views
0

問題文:.sdfファイルに格納されているデータをPythonに抽出します。 システム設定:Win 10 Pro 64ビット、Python 3.5.2-64ビット、adodbapiライブラリ、SQL CE 3.5PythonとのSQL CE接続

私はプログラミングにはあまり新しく、私は学ぶための最初の言語としてPythonを採用しました。現在、SQL CE 3.5 .sdfファイルを接続する過程で壁にぶつかりました。

私はadodbapiライブラリを使用しました。この問題の解決策を見つけて、接続文字列が正しいことを確認するために、先週広範囲にわたってWebを検索しました。私はスタックオーバーフローとhttps://www.connectionstrings.com/microsoft-sqlserver-ce-oledb-3-5/で提供される複数のオプション/ソリューションを試しました。

コード:

import adodbapi 

cons_str = "Provider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.5;" \ 
      "Data Source=D:\Work\Programming\Python\SQL_DataTransfer\LF.sdf;"\ 
      "Persist Security Info=False;" \ 
      "SSCE:Max Database Size=4091" 

connection = adodbapi.connect(cons_str) 
print(connection) 

エラーメッセージ:

トレースバック(最新の呼び出しの最後):

File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 93, in make_COM_connecter c = Dispatch('ADODB.Connection') #connect after CoIninialize v2.1.1 adamvan NameError: name 'Dispatch' is not defined

上記の例外の取り扱い時には、別の例外が発生しました:

トレースバック(直近の最後のコール):

上記の例外の取り扱い中

File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 112, in connect co.connect(kwargs) File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 269, in connect self.connector = connection_maker() File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 95, in make_COM_connecter raise api.InterfaceError ("Windows COM Error: Dispatch('ADODB.Connection') failed.") adodbapi.apibase.InterfaceError: Windows COM Error: Dispatch('ADODB.Connection') failed.

、別の例外が発生しました:

トレースバック(最新の呼び出しの最後):

File "D:/Work/Programming/Python/SQL_DataTransfer/SQL_CE_reportDB.py", line 8, in connection = adodbapi.connect(cons_str) File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 116, in connect raise api.OperationalError(e, message) adodbapi.apibase.OperationalError: (InterfaceError("Windows COM Error: Dispatch('ADODB.Connection') failed.",), 'Error opening connection to "Provoider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.5;Data Source=D:\Work\Programming\Python\SQL_DataTransfer\LF.sdf;Persist Security Info=False;SSCE:Max Database Size=4091"')

この時点で、任意のヘルプははるかに高く評価されます。

ありがとう、 よろしくお願いいたします。 JD。

+0

は、あなたはそれが3.5ファイルではなく4.0ファイルである100%よろしいですか? – ErikEJ

+0

はい、ビジュアルスタジオで同じファイルを開いています。 –

答えて

1

あなたがタイプミスを持っているように見える:

Provoider => Provider 
+1

ええ、私はそれを修正しました...私も同様の質問でそれを修正するために探しています...しかし、エラーはまだ同じです.... –

関連する問題