Excel-VBA 通过 ODBC 驱动程序到 SQLite3:主数据库 + 附加数据库
Posted
技术标签:
【中文标题】Excel-VBA 通过 ODBC 驱动程序到 SQLite3:主数据库 + 附加数据库【英文标题】:Excel-VBA to SQLite3 through ODBC Driver: primary database + attached database 【发布时间】:2018-07-16 12:44:33 【问题描述】:我正在尝试通过 ODBC(Windows 10 x64)从 Excel-VBA 连接到 SQLite3 数据库。
我使用 Christian Werner 的 SQLite ODBC 驱动程序 v 0.9999 (http://www.ch-werner.de/sqliteodbc) - 如手册所述,我已经安装了 32 位和 64 位版本的驱动程序。
连接一个数据库就可以了:
ConnectionString = "DRIVER=SQLite3 ODBC Driver;Database=c:\first.db;"
连接2个数据库(SQLite提供连接主数据库+附加数据库的能力)也可以:
ConnectionString = "DRIVER=SQLite3 ODBC Driver;Database=c:\first.db;Attach=c:\second.db;"
但看起来 VBA 看不到附加数据库中的表 - 以下查询失败:
SELECT * FROM [second].[table_name_in_second_db];
该 SQLite ODBC 驱动程序是否支持在连接字符串中附加数据库? 还是我使用了不正确的语法?
【问题讨论】:
【参考方案1】:您不通过连接处理附件。主数据库在连接属性中处理。一旦你有一个有效的连接,你实际上是在使用 sqlite 引擎。 (驱动程序是 sqlite.dll 的包装器)因此您可以将数据库附加为 sql 语句。
cn.execute "attach database 'C:\filename.db' as db"
【讨论】:
以上是关于Excel-VBA 通过 ODBC 驱动程序到 SQLite3:主数据库 + 附加数据库的主要内容,如果未能解决你的问题,请参考以下文章
通过 ODBC 将 codeigniter 3 连接到任何地方的 SQL