我正在使用RODBC连接到微软访问数据库。有些查询工作正常,但在一个查询中我一直收到错误:
07002 -3010 [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
[RODBC] ERROR: Could not SQLExecDirect 'SELECT baseunit FROM archiverapp_common_units WHERE unitname = "ng/ml"'
我正在使用'sqlQuery'函数来进行查询。错误中给出的SELECT语句是我打算使用的,当我直接复制粘贴到Access时可以正常工作。从我收集到的类似帖子中看,这经常是拼错列或表名,但这里的一切似乎都是正确的。
答案 0 :(得分:6)
想出来 - 显然答案是在WHERE子句中使用单引号而不是双引号。从此
更改我的R代码中的查询字符串'SELECT baseunit FROM archiverapp_common_units WHERE unitname = "ng/ml"'
到这个
"SELECT baseunit FROM archiverapp_common_units WHERE unitname = 'ng/ml'"
解决了这个问题。