Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.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
R-使用RODBC库连接字符串和变量表_R_Rodbc - Fatal编程技术网

R-使用RODBC库连接字符串和变量表

R-使用RODBC库连接字符串和变量表,r,rodbc,R,Rodbc,我想使用RODBC库使用RStudio运行一些查询。通常,这样的代码可以正常工作: query_6 <- sqlQuery(con, "Select * from my_table where condition = more_than_sth") query\u 6R中的连接函数是paste,它会自动在每个对象之间添加一个空格,您可以使用paste(…,sep=”“)或paste0()删除它们 不,这不是正确的/最好的/建议的(或者对我来说,是可以容忍的)方法,无论是故意的还是意外的(

我想使用RODBC库使用RStudio运行一些查询。通常,这样的代码可以正常工作:

query_6 <- sqlQuery(con, "Select * from my_table where condition = more_than_sth")

query\u 6R中的连接函数是
paste
,它会自动在每个对象之间添加一个空格,您可以使用
paste(…,sep=”“)
paste0()
删除它们


不,这不是正确的/最好的/建议的(或者对我来说,是可以容忍的)方法,无论是故意的还是意外的(引用)。(BTW:许多(最不确定的)SQL语言需要单引号,而不是双引号,围绕字符串文字。)同时,考虑<代码> MyStraysOne是否同意简单引号。但是,当您运行来自RStudio的查询时,为什么要关心SQL注入呢?不可否认,这主要是为了破坏而不是为了安全,但可能是因为在过去几十年中,有许多代码被用在了原本不打算用的方式和地方。您可以手动完成这些步骤,以充分防止单引号、双引号甚至反斜杠,或者您也可以从一开始就告诉SQL值是“始终是数据,不管它看起来像什么”,这样做是正确的/简单的/已经可以工作的我承认,当我进行快速搜索时,我经常在查询中使用单引号文本。然而,在我采用参数化作为默认操作之前,我必须解决许多由于引用或其他原因导致搜索字符串中断的问题。起初,我谨防双重引用。然后是单引号。然后我被反睫毛咬了。使用参数(对我来说)从来没有什么不好的地方;许多错误都是由于选择不使用它们造成的。(
)SE网站上的问题正在寻求明智的建议。这项技术非常灵通。如果您必须继续使用
RODBC
,请使用参数化查询,已在中讨论过。建议的替代方案包括基于或的本机驱动程序。
more_than_sth <- "x"
query_6 <- sqlQuery(con, paste0("Select * from my_table where condition ='", more_than_sth, "'"))