Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql &引用;参数太少”;正在尝试连接到R中的Microsoft Access数据库_Mysql_R_Ms Access_Odbc_Rodbc - Fatal编程技术网

Mysql &引用;参数太少”;正在尝试连接到R中的Microsoft Access数据库

Mysql &引用;参数太少”;正在尝试连接到R中的Microsoft Access数据库,mysql,r,ms-access,odbc,rodbc,Mysql,R,Ms Access,Odbc,Rodbc,我正在使用RODBC连接到microsoft access数据库。有些查询可以正常工作,但有一个查询我不断发现错误: 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 = "n

我正在使用RODBC连接到microsoft access数据库。有些查询可以正常工作,但有一个查询我不断发现错误:

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中时,它会起作用。从我在类似帖子中收集的信息来看,这通常是由于列或表名拼写错误造成的,但这里的一切似乎都是正确的。

找到了答案——显然答案是在WHERE子句中使用单引号而不是双引号。从以下位置更改我的R代码中的查询字符串

'SELECT baseunit FROM archiverapp_common_units WHERE unitname = "ng/ml"'
对此

"SELECT baseunit FROM archiverapp_common_units WHERE unitname = 'ng/ml'"

解决了问题。

可能是您的
ng/ml的区域设置/编码问题
您是否尝试在命令行中键入此查询?您让我在命令行中鬼混,我发现它显然不喜欢您使用双引号,单引号很好。您是否必须避开它们?发布您的最后一个命令将是heplfulnop,如果在R中的字符串周围使用双引号,则不会进行转义。尽管转义不会造成伤害。也有同样的问题。首先,我认为它与我的查询的联合类型有关。几次尝试后,通过将字段
格式(DtTm,“Short Date”)调用为Dt,
将其缩小到使用的双引号。替换为单引号;而且,来自
R
中的
RODBC::sqlQuery()
的查询调用工作正常。谢谢