在python中是否有使用MS Access數據庫的庫? win32模塊並不像MySQL庫那麼容易。有沒有更簡單的方法來使用MS Access與Python?用於python的MS Access庫
21
A
回答
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)
10
我不認爲的Win32是很難的。嘗試使用它的odbc模塊。與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')
這是我在Python和Jython中使用的每個DB驅動程序非常類似(我在PostgreSQL,Oracle和Informix的工作)。
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
相關問題
- 1. 用於MS-Access的Python ORM
- 2. 用於MS Access數據庫的LINQ - C#
- 3. 使用python構建MS Access數據庫
- 4. MS Access圖標庫
- 5. MS Access數據庫
- 6. 的MS Access 2010數據庫
- 7. 數據庫的MS Access
- 8. 使用MS Access的數據庫
- 9. 用於MS Access安裝的ODBC
- 10. SQL:用於少數列的MS Access DISTINCT
- 11. 用於JSP的MS Access數據庫連接頁面
- 12. 適用於大型數據庫的MS Access搜索表格
- 13. 示例MS Access數據庫
- 14. DataGridView到MS Access數據庫
- 15. 從MS Access數據庫(VB.NET)
- 16. MatLab-MS Access 2010數據庫
- 17. MS Access數據庫連接
- 18. MS Access數據庫更新
- 19. 從MS Access數據庫
- 20. MS Access數據庫困惑
- 21. MS ACCESS結合基於
- 22. 使用的MS Access
- 23. MS Access 2003 - 將文本文件導入MS Access數據庫表
- 24. Python MS Access數據庫使用光標和顯示沒有unicode
- 25. 遷移MS Access 2003中的MS Access 2010
- 26. 使用Python將MS Access中的數據複製到MS Excel中
- 27. 用android連接到MS Access數據庫
- 28. 使用Java訪問MS Access數據庫
- 29. Oracle SQL不適用於MS Access
- 30. TSQL [CONVERT]不適用於MS Access
感謝您的兄弟。我感覺方便:) – Vicky 2009-06-26 06:41:32
@Cristian Ciupitu:謝謝添加示例代碼 – stephan 2013-01-16 15:58:20
肯定的方向。我唯一需要做的編輯是`* .mdb,* .accdb`而不是`* .mdb` – demongolem 2015-12-28 20:26:41