Python连接Access和读取Access数据库的例子
其实这个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()
分享到: | |
还有一个问题是,这个博客缩进无法显示喔
纯代码,没有美感.对不起各位观众
以下是我原封不动按您的代码来的,然后报错了,我找了好久都找不到原因,能否看一下呢,谢谢?
import os
import win32com.client
import os,sys,string
conn = win32com.client.Dispatch(r’ADODB.Connection’)
DSN = r’PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=SpiderResult.mdb;’
conn.Open(DSN)
print ‘connect ….’
rs=win32com.client.Dispatch(r’ADODB.Recordset’)
rs.Open(‘Select top 10 from 14021 ‘)
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()
Traceback (most recent call last):
File “”, line 1, in
conn.Open(DSN)
File “”, line 3, in Open
File “C:\Python27\lib\site-packages\win32com\client\dynamic.py”, line 282, in _ApplyTypes_
result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
com_error: (-2147352567, ‘\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3′, (0, u’ADODB.Connection’, u’\u672a\u627e\u5230\u63d0\u4f9b\u7a0b\u5e8f\u3002\u8be5\u7a0b\u5e8f\u53ef\u80fd\u672a\u6b63\u786e\u5b89\u88c5\u3002′, u’C:\\Windows\\HELP\\ADO270.CHM’, 1240655, -2146824582), None)
你的python版本对不对,这东西不同版本有兼容问题