2017-07-28 95 views
1

私は非常にPythonに新しいので、私はこのエラーの答えを見つけることができないようです。下のコードを実行すると、エラーが発生します。AttributeError:モジュール 'odbc'に 'connect'属性がありません - pythonとpython

AttributeError: module 'odbc' has no attribute 'connect' 

ただし、エラーはeclipseでのみ表示されます。コマンドラインで実行しても問題ありません。私はPython 3.5を実行しています。私は間違って何をしていますか?

try: 
    import pyodbc 
except ImportError: 
    import odbc as pyodbc 

# Specifying the ODBC driver, server name, database, etc. directly 
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=PXLstr,17;DATABASE=Dept_MR;UID=guest;PWD=password') 

try ... exceptブロックを削除するよう提案されていませんでした。実際のインポートでは、次のようなエラーが発生しています。

Traceback (most recent call last): 
    File "C:\Users\a\workspace\TestPyProject\src\helloworld.py", line 2, in <module> 
    import pyodbc 
    File "C:\Users\a\AppData\Local\Continuum\Anaconda3\Lib\site-packages\sqlalchemy\dialects\mssql\pyodbc.py", line 105, in <module> 
    from .base import MSExecutionContext, MSDialect, VARBINARY 

pyodbcがインストールされており、インポートと接続がWindowsのコマンドラインでうまく動作します。

は、ここでの問題はpyodbcモジュールは、あなたのtry/exceptブロックに輸入されていないことであるあなたに

答えて

1

に感謝します。 tryブロックにインポート文を入れないことを強くお勧めします。まず、あなたは、あなたがこのような何かを行うことができ、好ましくはvirtualenvに、あなたがインストールpyodbcpip install pyodbc)を持っていることを確認するとよいでしょう:あなたは(Windows上で実行している場合

import pyodbc 

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=PXLstr,17;DATABASE=Dept_MR;UID=guest;PWD=password') 

cursor = cnxn.cursor() 
cursor.execute('SELECT 1') 

for row in cursor.fetchall(): 
    print(row) 

それはそう、与えられた表示されますDRIVER=パラメータ)では、Windows Python仮想環境を管理するためにvirtualenvwrapper-winをご覧ください。https://pypi.python.org/pypi/virtualenvwrapper-win

幸いです!

+1

ありがとうございます。 'import pyodbc'ステートメントでエラーが表示されます。エラーを表示するために上記の質問を更新しました。 – afora377

+1

ありがとう、あなたの答えは私が問題の核心を見つけるのを助けました。今解決されました。 – afora377

1

フリッパーの答えは、問題がeclipseの外部ライブラリー・リスト内の誤ったライブラリーを参照していることを確認するのに役立ちました。修正後、問題は解決されました。

関連する問題