【发布时间】:2023-04-02 10:54:01
【问题描述】:
我正在尝试通过 R 执行 SQL 查询以从 Access DB 获取数据
普通的 SQL 语句可以正常工作,但是当涉及到 like 语句时,它会抛出错误
下面是代码:
library(RODBC);
channel = odbcDriverConnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:/Users/ADMIN/Documents/R.accdb")
test = sqlQuery(channel ,paste('SELECT R.ID, R.Template, R.WEDate FROM R WHERE R.Template Like "*slow*"'))
错误:
[1] “07002 -3010 [Microsoft][ODBC Microsoft Access Driver] 参数太少。预期为 2。”
[2] "[RODBC] 错误: 无法 SQLExecDirect 'SELECT R.ID, R.Template, R.WEDate FROM R WHERE (R.Template Like \"slow\")'
有没有办法解决这个问题。
【问题讨论】:
-
只是一个想法,尝试使用
%而不是*。 -
@joran 还是一样的错误
-
尝试颠倒使用双引号和单引号(单引号在里面,双引号在外面)。
-
@joran 效果不佳
-
不确定,一定与Access有关,我一直在使用RODBC对其他数据库运行
LIKE这样的查询。