我正在尝试通过 RODBC 包连接到 sqlite 数据库。
1.) 我已经从 http://www.ch-werner.de/sqliteodbc/ 安装了 SQLite ODBC 驱动程序并使用 Windows 7 中的 ODBC 数据源管理器进行设置。设置为锁定超时 20 毫秒、同步模式正常和选中“不创建数据库”。我可以在“用户 DSN”选项卡中看到我的数据源作为 SQLite3 ODBC 驱动程序。
2.) 在 R 中,我运行以下命令连接到数据库。到目前为止没有问题。看起来它设置正确。
library(RODBC)
con <- odbcConnect("dbss")
odbcGetInfo(con)
DBMS_Name
"SQLite"
DBMS_Ver
"3.8.2"
Driver_ODBC_Ver
"03.00"
Data_Source_Name
"dbss"
Driver_Name
"sqlite3odbc.dll"
Driver_Ver
"0.996"
ODBC_Ver
"03.80.0000"
Server_Name
"U:\\Research\\data\\smartsystemtic\\db.sqlite"
3.) 但是,如果我想查询表或只是显示我遇到问题的表。我可以看到(使用 SQLite Studio)我有一个名为“School”的表,有 4 列和 3 行。
> sqlQuery(con, paste("SELECT * FROM School"))
[1] SchID Location Authority SchSize
<0 rows> (or 0-length row.names)
我知道有 3 行在查看 SQLite Studio。
4.) 我也得到
> sqlTables(con)
[1] TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
<0 rows> (or 0-length row.names)
而在 SQLite Studio 中,我看到了 4 个数据库表。
你能告诉我我做错了什么吗?谢谢你。
最佳答案
沃尔夫冈
汤米奥戴尔的回答 here为我工作。
我包括 believeNRows = FALSE, rows_at_time = 1
打开到 SQLite 的 ODBC 连接时。
关于r - 通过 RODBC 连接到 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21775811/