31
|
Georg Schölly Crazy Developer · 技术社区 · 16 年前 |
![]() |
1
22
我已经用过 PYODBC 但要成功连接到Windows上的MS Access数据库。安装很简单,使用也相当简单,只需设置正确的连接字符串(列表中给出了用于MS访问的字符串),然后使用示例。 |
![]() |
2
29
在Linux上,mdbtools是您目前唯一的机会。 [disputed] 在Windows上,可以使用pypyodbc处理mdb文件。 要创建Access MDB文件,请执行以下操作:
Here is an Hello World script 完全演示了pypyodbc的访问支持功能。 免责声明:我是pypyodbc的开发者。 |
![]() |
3
10
怎么样 pyodbc ? This SO question 演示使用它可以读取MS Access。 |
![]() |
4
9
你得到了听起来不错的解决方案。另一个可能比你想要的更接近“金属”的工具是mdb工具。 MDB Tools 是一组开放源代码库和实用程序,用于在不使用Microsoft DLL的情况下方便从MS Access数据库(mdb文件)导出数据。因此,非Windows操作系统可以读取数据。或者,换句话说,他们正在对mdb文件的布局进行反向工程。 另外请注意,我怀疑他们是否已经开始处理accdb文件,并且可能不会对该功能有太多要求。 |
![]() |
5
3
老问题,但我想我会为windows发布一个pypyodbc替代建议:ado。事实证明,通过COM使用现代(而不是老式的ODBC)驱动程序很容易访问数据库、Excel电子表格以及其他任何东西。 查看以下文章: |
![]() |
6
2
在Ubuntu 12.04上,这就是我所做的工作。 安装PYODBC:
接下来安装一些额外的驱动程序:
制作一个连接到数据库并显示所有表的小测试程序:
希望能有所帮助。 |
![]() |
7
2
就我个人而言,我从未能够让mdb工具(连同unixodc等相关的odbc工具)在Linux下与python或php一起正常工作,即使经过多次尝试。我刚试过这个问题的另一个答案中的说明 here 我得到的只是“分割错误(核心转储)”。 然而,我确实得到了Jython和 UCanAccess 用于在Linux上读取.mdb和.accdb文件的JDBC驱动程序。有关如何在Ubuntu 14.04 LTS下设置它的详细说明,请参阅我的其他答案。 here . |
![]() |
8
2
将访问数据库读取为熊猫数据帧(Windows)。 这是一个非常快速简单的解决方案,我已经成功地用于较小的数据库。 您可以通过创建一个指向Excel的永久链接并保存该文件(只需单击几次)来读取Access数据库,链接方式如下: 然后您可以简单地将该Excel文件作为熊猫数据帧读取。 例如,将链接的Excel文件保存为location\filestore\subfolder1\subfolder中的“link_to_master.xlsx”。 在python中运行以下命令:
如果您正在访问python脚本,请考虑刷新链接的频率。也就是说,Excel和Access之间的链接是静态的。 |
![]() |
9
1
最有可能的是,您需要使用一个很好的框架,比如 SQLAlchemy 要访问您的数据,或者至少,我会推荐它。 Support for Access 是“实验性的”,但我记得使用它时没有太多问题。它本身使用 pyodbc 在引擎盖下连接到AccessDBS,所以它应该可以在Windows、Linux、OSX等环境下工作。 |
![]() |
10
0
如果使用 EQL Data ,然后可以使用json或yaml查询访问表的内容: http://eqldata.com/kb/1002 . 那篇文章是关于PHP的,但是它在Python中也能很好地工作。 |
![]() |
11
0
如果您还有时间,可以尝试修复并更新通过本机com32客户机API读取MS Access DBS的python类: Extraction and manipulation class for Microsoft Access |
![]() |
12
0
我在Windows下将python连接到MS Access的方法是使用以下方法: Connect to MS Access with Python . 也许你会在Win7中发现一些问题,所以我找到了一个解决方案: Solving a connection between MS Access and Python on Windows 7 我还没有尝试在Linux下连接! |