文档章节

Python使用win32com操控Access

Ev4n
 Ev4n
发布于 2016/08/16 17:58
字数 617
阅读 452
收藏 0

网上的教程很多啊,有必要写个这个么?我也这么期待着,可是,这个过程没那么简单。

为什么选择python来操控Access数据库呢?因为我电脑上没有.net啊!加之自己对python的强大功能相当的自信,就顺其然的选择了。从前使用python操作postgresql也没什么难处啊,于是就信誓旦旦的开始了。

这里就是简单的操作过程。姑且放下相关函数,来准备工具吧。

步骤一:选择三方库。

python肯定没有自带的函数,但是可以拓展嘛。网上的有推荐win32com,看起来很符合要求,虽然我从没有接触过。win32com只能从sourceforge  这里选择对应的包,但是,但是具体的位数呢?是32位还是64呢?根据我自己的python来吧,64位的电脑当然要安装64位的python啦,于是就下来64位的。(实际上最开始安装32位的是在注册表中找不到我的python)

步骤二:安装Microsoft Access Database Engine 2010 Redistributable

这个官方有对应的免费下载,可是,可是还是要选择64啊,嗯,一朝64,总是选择64位吧。下载后安装,一切顺利。

步骤三:写代码。

Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import win32com.client as client
>>> conn=client.Dispatch('ADODB.Connection')
>>> DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=e:\\aaa.mdb;'
>>> conn.Open(DSN)

然后,就这玩意了。

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    conn.Open(DSN)
  File "<COMObject ADODB.Connection>", line 3, in Open
  File "D:\python27\lib\site-packages\win32com\client\dynamic.py", line 287, 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)

先看看那一段unicode是什么吧。发生意外,ADODB.Connection 未找到提供程序。该程序可能未正确安装。这个问题在百度里很多啊,但是很多都是IIS中连接Access数据库时,这个我确实没辙了。

这位仁兄提到各种位数的问题,我于是测试了 Engine 32位的,但是安装之前要卸掉刚安好的64位,做吧。结果没有变化。这里的论坛有过相关话题,但是还是没有解决。

最后吧,还是全换成了32位的了,可以了。

坑!

© 著作权归作者所有

共有 人打赏支持
Ev4n
粉丝 5
博文 17
码字总数 11143
作品 0
成都
python处理word文件:win32com用法详解

目标:用python处理doc文件 方法:引入win32com模块 ** 一、安装 ** 首先要先下载安装win32com模块(起先在linux下装不成功,后在windows下面成功了。。。) 下载地址:http://sourceforge....

彼得
2014/07/21
0
3
python使用win32com的心得

python可以使用一个第三方库叫做win32com达到操作com的目的,我是安装了ActivePython的第三方库,从官网下载了安装包,该第三方库几乎封装了所有python下面的win32相关的操作,例如win32api,...

zxcholmes
2015/07/28
0
0
Python文本数据互相转换(pandas and win32com)

(工作之后,就让自己的身心都去休息吧) 今天介绍一下文本数据的提取和转换,这里主要实例的转换为excel文件(.xlsx)转换world文件(.doc/docx),同时需要使用win32api,同pywin32库。 pand...

James·Joshua
08/16
0
0
使用Python操纵Office, 添加Outlook的联系人

使用的是Windows Mobile 的手机。 2B的Windows同步软件缺省会用PC上的覆盖手机上的内容,即使PC上一条记录也没有,也会把手机上面的记录全部清空。 而且发现不同手机操作系统的手机通讯录无法...

junanhonglei
2011/08/26
0
0
python模块:win32com用法详解

python模块:win32com用法详解 使用技巧 import win32com from win32com.client import Dispatch, constants w = win32com.client.Dispatch('Word.Application') # 或者使用下面的方法,使用启......

木雨山
2012/06/28
0
3

没有更多内容

加载失败,请刷新页面

加载更多

python:关于读取文件的指定行的问题

先来造一个文件:就叫做 test.txt吧,内容是下面这个样子: 表头1,数据12,数据23,数据34,数据45,数据56,数据67,数据7 那么我们并不打算把这个表头给读出来 怎么办呢? 先来打开文...

Oh_really
26分钟前
1
0
Rails 用现代 Rails 逃离单页面应用 “兔子洞”

在工作共总是觉得turbolinks非常爽,但是却总是被说成是过时的技术,大家都喜欢spa,哪怕不用的spa的人也是禁用掉的多,找不到很好的理由劝说别人使用,这篇文章说的很到位,或者说至少是牛人...

wmzsonic
31分钟前
0
0
Hive 分布式搭建,Spark集成Hive记录

本帖详细介绍搭建步骤,仅仅记录自己搭建过程以及采坑经历。 前提环境: Hadoop集群 版本2.7.2 Spark集群 版本2.1.0 Linux版本 Centos7 准备搭建 MySql版本5.5.61 ,Hive-2.1.0 去官网下载M...

我爱春天的毛毛雨
33分钟前
2
0
打包QML程序

1、windeployqt执行路径(D:\Qt\5.12.0\msvc2017_64\bin)加入到PATH中 2、使用Qt自带的命令行交互 Command 终端(Qt 5.12.0 64-bit for Desktop (MSVC 2017))切换到 Release 编译成功的exe...

渣渣曦
今天
4
0
优秀互联网高级测试工程师应该具备的能力

概述 在之前写的互联网高级测试工程师至少具备的能力一文中,提到了测试工程师至少具备的能力,但是并没有提到优秀测试工程师应该具备的能力,下文简单的谈一谈。当然这些全部都是我的个人理...

Sam哥哥聊技术
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部