- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个 Excel 工作簿,其中包含一些查询本地访问数据库的 adodb 代码。我想对 SQLite 做同样的事情,因为我相信这会提供更好的性能。我怎么做?我可以使用 adodb 或 odbc 连接到 SQLite 文件吗?
我需要一些我可以部署的简单的东西,这样如果我可以最大限度地减少不必要的配置和安装,也许将要使用 excel 的人将不会在 pc 上拥有管理员权限,因此他们无法安装软件。
最佳答案
面对同样的问题,我制作了一个轻量级库,可以从 Excel VBA 直接访问 SQLite3。最终结果是一个更简单的解决方案,没有中间的 ODBC 或 OleDb/ADO 层,性能反射(reflect)了 SQLite 数据库的性能,而不是不透明包装器的性能。这也很好,因为您不需要在注册表中注册 COM 组件,只需复制两个 .dll 到您的工作簿,然后将一个 .bas 模块添加到您的项目中。
这种方法的一个缺点是 API 不是标准的 DAO 或 ADO 接口(interface),因此您可能需要制作一些包装器,或转换您的一些代码以使其工作。这也意味着您需要熟悉 SQLite API 才能使用它,但 SQLite 文档非常清楚。
我已将项目的早期版本放在 CodePlex 上:SQLite for Excel为 SQLite3 API 函数提供高性能路径,保留 SQLite3 库调用的语义并允许访问分布式 SQLite3.dll 而无需重新编译。
如有任何反馈,我们将不胜感激。
更新:SQLite for Excel项目现在住在 GitHub .
关于excel - 如何从 VBA 访问 SQLite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1346979/
我是一名优秀的程序员,十分优秀!