其实也可以直接找access的库直接连,下文是调用windows的adodb对象来连接,也可以连接其他的。
其实这个Python连接Access和读取Access数据库的例子是写给自己看的,网上已经有Python读取Access的例子了,我这个也是参考以上制作的.
而这个例子应该是只能在windows使用吧!而且需要用到win32com.client这个库,而我在引用win32com.client时出错了,看来不是python常备的库,看来需要安装的!
在参考了网上的 How can I import win32com.client to my app ? 之后,才知道怎样安装win32com.client,以下是这篇文章的网址
http://groups.google.com/group/web2py/browse_thread/thread/4893548504d479e3?pli=1
安装win32com.client的网址: https://sourceforge.net/projects/pywin32/
下边是代码:
# -*- coding: gb2312 -*-
import win32com.client
import os, sys, string
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=SpiderResult.mdb;'
conn.Open(DSN)
print "connect..."
rs = win32com.client.Dispatch(r'ADODB.Recordset')
#rs_name = 'Content'#表名
#rs.Open('[' + rs_name + ']', conn, 1, 3)
# Content 这个表是我用火车头采集当当网数据的数据库
rs.Open('Select top * FROM Content where', conn,1, 3)
# 注意:如果一个记录是空的,将导致一个错误,所以我加了一句判断有没有记录,防止错误.
if rs.recordcount==0:
sys.exit()
rs.MoveFirst()
print rs.recordcount
while not rs.EOF:
print rs.Fields.Item(3).Value
print "-------------------------------------"
rs.MoveNext()
print "Record Count: ",rs.recordcount
rs.Close()