2009-06-26 6 views
21

के लिए एमएस एक्सेस लाइब्रेरी क्या पाइथन में एमएस एक्सेस डेटाबेस का उपयोग करने के लिए कोई लाइब्रेरी है? Win32 मॉड्यूल MySQL लाइब्रेरी जितना आसान नहीं है। क्या पाइथन के साथ एमएस एक्सेस का उपयोग करने का कोई आसान तरीका है?पाइथन

उत्तर

32

आप जो करना चाहते हैं उसके आधार पर, pyodbc जो भी आप खोज रहे हैं हो सकता है।

import pyodbc 
db_file = r'''C:\x.mdb''' 
user = 'admin' 
password = '' 

odbc_conn_str = 'DRIVER={Microsoft Access Driver (*.mdb)};DBQ=%s;UID=%s;PWD=%s' %\ 
       (db_file, user, password) 
# Or, for newer versions of the Access drivers: 
odbc_conn_str = 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%s;UID=%s;PWD=%s' %\ 
       (db_file, user, password) 

conn = pyodbc.connect(odbc_conn_str) 
+0

दोस्त के लिए धन्यवाद। मुझे इस के साथ सुविधाजनक लग रहा है :) – Vicky

+1

@ क्रिस्टियन सीयूपिटू: नमूना कोड – stephan

+3

जोड़ने के लिए धन्यवाद सुनिश्चित करने के लिए सही दिशा। मुझे केवल एक ही संपादन था * '.mdb, * .accdb'' * .mdb' – demongolem

10

मुझे नहीं लगता कि Win32 कठिन है। अपने ओडीबीसी मॉड्यूल का उपयोग करने का प्रयास करें। ODBC और PostgreSQL डेटाबेस के साथ काम कर कोड का उदाहरण:

import odbc 

def get_pg_ver(db_alias): 
    connection = odbc.odbc(db_alias) 
    try: 
     cursor = connection.cursor() 
     cursor.execute('SELECT version()') 
     for row in cursor.fetchall(): 
      print row[0] 
    finally: 
     connection.close() 

get_pg_ver('odbc_name/user/passwd') 

यह हर डाटाबेस ड्राइवर मैं अजगर और Jython में इस्तेमाल के लिए बहुत समान है (मैं PostgreSQL, ओरेकल और इन्फोर्मिक्स के साथ काम)।

+0

के बजाय सहमत था: 'odbc' एम $ एक्सेस के साथ ठीक काम करता है। – bernie

+0

बहुत बहुत धन्यवाद – Vicky

+0

मुझे लूप के अंदर किसी अन्य तालिका से पूछताछ करने की आवश्यकता है। उसको कैसे करे? – Nayan

3

मुझे pywin32 के adodbapi मॉड्यूल का उपयोग करके हाल ही में सफलता मिली।

निम्नलिखित स्निपेट this वेबसाइट से लिया गया है:

import adodbapi 

database = "db1.mdb" 
constr = 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=%s' % database 
tablename = "address" 

# connect to the database 
conn = adodbapi.connect(constr) 

# create a cursor 
cur = conn.cursor() 

# extract all the data 
sql = "select * from %s" % tablename 
cur.execute(sql) 

# show the result 
result = cur.fetchall() 
for item in result: 
    print item 

# close the cursor and connection 
cur.close() 
conn.close() 
7

आप आसानी से Win32 मंच पर एक खाली पहुँच MDB फ़ाइल बनाने के लिए उपयोग कर सकते हैं pypyodbc, और यह भी कॉम्पैक्ट मौजूदा पहुँच MDB फ़ाइलें।

यह रूप में आसान के रूप में किया जा सकता है:,

import pypyodbc 
pypyodbc.win_create_mdb("D:\\Your_MDB_file_path.mdb") 

अधिक से अधिक, एक dbi 2.0 ODBC पुस्तकालय के रूप में, pypyodbc pyodbc से अच्छी तरह संगत है आप का चयन करें, सम्मिलित करें, पुस्तकालय के साथ अद्यतन की तरह SQL डेटाबेस प्रश्नों कर सकते हैं ।

यहां pypyodbc के एक्सेस समर्थन के बारे में पूर्ण Tutorial है।

अस्वीकरण: मैं pypyodbc का डेवलपर हूं।

+0

हैलो। मैं pypyodbc का उपयोग कर अपने डीबी फ़ाइल पर पासवर्ड का उपयोग कैसे कर सकता हूं ..? मैंने pypyodbc मेरे लिए बहुत उपयोगी पाया। – Tirthajust4u