我正在尝试通过ODBC(Windows 10 x64)从Excel-VBA连接到SQLite3数据库。
我使用Christian Werner的SQLite ODBC驱动程序v 0.9999(http://www.ch-werner.de/sqliteodbc) - 正如手册所说,我已经安装了安装32和64Bit版本的驱动程序。
连接到一个数据库是可以的:
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驱动程序是否支持在连接字符串中附加数据库?或者我可能使用不正确的语法?
您不通过连接处理附件。主数据库在连接属性中处理。一旦你有一个有效的连接,你基本上使用sqlite引擎。 (驱动程序是sqlite.dll的包装器)因此您可以将数据库作为sql语句附加。
cn.execute“附加数据库'C:\ filename.db'为db”