我想通过RODBC包连接到sqlite数据库。通过RODBC连接到SQLite
1.)我已经从http://www.ch-werner.de/sqliteodbc/安装了SQLite ODBC驱动程序,并使用Windows 7中的ODBC数据源管理器进行设置。设置为锁定超时20ms,同步模式为NORMAL,并且选中“不创建数据库”。我可以在“用户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的工作室我看到4台数据库。
你能给我指点什么,我做错了吗?谢谢。
连接来自R到SQLITE的通常方法是使用'RSQLite'包。你能成功使用那个包返回结果吗? –
是的,我可以。也许这将是一条路。我对RODBC软件包更加熟悉,我希望我可能只有一个小小的设置错误。 RODBC小插曲/文档说它支持SQLite。 –
狂猜:它是32/64位的问题吗?你有没有在32位和64位R中试过? –