2012-05-11 14 views
5

pyodbcを使用してUbuntuの.mdbにアクセスしようとしています。私はpyodbc、unixODBCのインストールされているUbuntuでPythonでAccessデータベース(.mdb)を使用する

Query crashes MS Access

このリンクをこれまでのところ、私の進捗状況をベースにしており、unixODBCの-devをしました

私のコードは次のようになります。

import csv 
import pyodbc 

MDB = 'URY.mdb' 
DRV ='Microsoft Access Driver (*.mdb)' 
PWD = 'pass' 

conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD)) 
curs = conn.cursor() 

ときI実行すると、次のエラーメッセージが表示されます。

Traceback (most recent call last): 
    File "mdbscraper.py", line 8, in <module> 
    conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD)) 
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found,   and no default driver specified (0) (SQLDriverConnect)') 

何かアイデアはありますか?どんな助けでも大変ご賞味いただけます

ありがとうございます!

+0

私はLinuxに精通していませんが、Windowsではこのエラーはコントロールパネル - >管理ツール - > ODBC接続でODBC接続を設定しなかったことを意味します。また、接続にはデータソース名(DNS)を渡し、ファイル名(DNSにある)は渡しません。 – HardCode

+0

私はそれがすべてのローカルなので、私はDNSを必要としない.mdbを使用していると思う。それは正しいと思いますか?私はこのページの上部にある例に基づいていますhttps://code.google.com/p/pyodbc/wiki/ConnectionStrings – mythander889

+0

私はまだMS AccessのODBCドライバをインストールする必要があると思います。 Easysoftは1つを販売しています。 http://www.easysoft.com/products/data_access/odbc-access-driver/index.htmlおそらくmdbtoolsには1つが含まれていますが、それは制限されていると記述されています。 http://mdbtools.sourceforge.net/install/x90.htm – HansUp

答えて

0
import pyodbc 
DBfile = '/data/MSAccess/Music_Library.mdb' 
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ='+DBfile) 
cursor = conn.cursor() 
SQL = 'SELECT Artist, AlbumName FROM RecordCollection ORDER BY Year;' 

for row in cursor.execute(SQL): # cursors are iterable 
print row.Artist, row.AlbumName 

cursor.close() 
conn.close() 

私はこのドライバを知っているから、

3

... ..使用の公式例がある「のMicrosoft Accessドライバ(* .MDB)」あなたであるため、マイクロソフトのホスト上でのみ使用可能ですubuntuでは動作しません。

+0

はい私はこれまでこの答えを持っています。解決策があれば教えてください。 –

関連する問題