Tôi đang cố sử dụng pyodbc để truy cập vào .mdb trên Ubuntu. Tôi đã dựa tiến bộ của tôi cho đến nay vào liên kết nàySử dụng cơ sở dữ liệu Access (.mdb) bằng Python trên Ubuntu
Tôi đã cài đặt pyodbc, unixodbc, và unixodbc-dev
Mã của tôi trông như thế này:
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()
Khi tôi chạy nó, tôi nhận được thông báo lỗi này:
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)')
Có ai h ave bất kỳ ý tưởng? Mọi trợ giúp sẽ được đánh giá rất nhiều
Cảm ơn bạn!
Tôi không quen với Linux, nhưng trên Windows, lỗi này có nghĩa là bạn đã không thiết lập kết nối ODBC trong Pa-nen điều khiển -> Công cụ quản trị -> Kết nối ODBC. Và bạn sẽ chuyển Tên dữ liệu (DNS) trong kết nối, chứ không phải tên tệp (trong DNS). – HardCode
Tôi nghĩ rằng vì tôi đang sử dụng một .mdb đó là tất cả các địa phương, vì vậy tôi không cần một DNS. Điều đó có đúng không? Tôi đang dựa trên ví dụ ở đầu trang https://code.google.com/p/pyodbc/wiki/ConnectionStrings – mythander889
Tôi nghĩ bạn vẫn cần phải cài đặt trình điều khiển ODBC cho MS Access. Easysoft bán một cái. http://www.easysoft.com/products/data_access/odbc-access-driver/index.html Giả sử mdbtools bao gồm một nhưng nó được mô tả là có giới hạn. http://mdbtools.sourceforge.net/install/x90.htm – HansUp