Mac OS X使用pypyodbc访问mdb数据库
首先使用brew安装unixodbc和mdbtools,unixodbc是odbc驱动管理器,mdbtools提供了一组mdb操作工具,更重要的是mdbtools提供了mdb驱动程序。
1 | $ brew install unixodbc |
但是安装完成后发现/usr/local/lib目录中没有mdbtools驱动动态链接库libmdbodbc.dylib
查看mdbtools选项可以发现:
1 | $ brew options mdbtools |
mdbtools formula并没有提供--with-unixodbc
选项,默认也没有build mdb驱动,因此需要手动来编译安装mdbtools提供的mdb driver
编译安装libmdbodbc
brew安装mdbtools时已经将mdbtools的源码包下载到了目录/Library/Caches/Homebrew/,所以直接使用这个源码包编译安装就可以了。
1 | $ tar zxvf mdbtools-0.7.1 |
这样libmdbodbc驱动程序就安装到了/usr/local/lib目录下。libmdbodbc的源代码就在src/odbc目录下。
配置unixodbc
因为brew的所有包都安装在/usr/local下面,因此这里配置unixodbc应该使用/usr/local/etc/目录下的odbcinst.ini和odbc.ini文件。
odbcinst.ini配置如下:
1 | \[MDBTools\] |
然后就可以像linux平台上一样来访问mdb文件了。
1 | $ python3 |
因为这里也是使用mdbtools提供的odbc驱动,所以和pypyodbc配合使用时仍然存在中文字符编码转换的问题,和linux平台上一样处理即可。
===
[erq]