ここに私の簡単なテストスクリプトがあります。基本的なselectステートメントを実行しようとしています。チュートリアルで基本的なビットを見つけました。SQLAlchemyがmssqlデータベースに接続できません
from sqlalchemy import *
db = create_engine('mssql+pyodbc://user:[email protected]_address/database_name')
db.echo = True
metadata = MetaData(db)
users = Table('member', metadata, autoload=True)
def run(stmt):
rs = stmt.execute()
for row in rs:
print row
s = users.select(users.c.fname == 'Bill')
run(s)
時間をかけて検索していくつかの解決策を試してみると、私が開始したときより解決に近づくことはありません。うまくいけば...
を私はどこかの単純なエラーを作ったが、私はそれを見つけることができないよここに私はすべてのヘルプははるかに高く評価されるだろう
sqlalchemy.exc.DBAPIError: (Error) ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)') None None
を取得していますエラーがあります!
+1大きな説明。私はこれに遭遇するまで、非常に多くの異なることを試みました。私の問題は、その余分なパラメータなしでWindowsサーバー上で正常に動作しているので、接続文字列にドライバ名を追加してコードを変更できないということでした。そこで、私は '/ etc/odbcinst.ini'に' [SQL Server] 'という別のエントリを作成し、' [SQL Server Native Client 11.0] 'の下にあるすべてのものを自分のエントリにコピーしました!すべては動作します... –
Windowsでも、SQLAlchemyはデフォルトのODBCドライバを見つけることができませんでした。 "?driver = SQL + Server"を追加すると、私の問題が解決しました。等号の名前は、管理ツール/データソース/ドライバの下にあるドライバ名と一致する必要があります。 – Matej
最新のMSドライバ(v13)は、https://msdn.microsoft.com/en-us/で確認できます。ライブラリ/ hh568451%28v = sql.110%29.aspx ドライバマネージャをインストールし、すべての依存関係があることを確認して、ドライバをインストールします。 – iled