【发布时间】:2017-04-11 18:15:02
【问题描述】:
使用以下代码将数据从 R 插入 Access DB
sql <- paste0("INSERT INTO test(test1,test2,test3)
VALUES('",df1$test1,"','",df1$test2,"','",df1$test2,"',)")
appendRecords <- lapply(sql, function(x) sqlQuery(channel, x))
列 Test1 的文本数据包含特殊字符,例如 (' " ,),因为我收到以下错误
[1] "42000 -3100 [Microsoft][ODBC Microsoft Access Driver] Syntax error
(missing operator) in query expression '\\\\.\\ROOT\\XXXX' \\n \\n...''."
列中的数据 (a'\\.\ROOT\XXXX' \n \n...''.)
如何解决这个问题??
【问题讨论】:
-
最后一个值后面好像多了一个逗号。
sql <- paste0("INSERT INTO test(test1,test2,test3) VALUES('",df1$test1,"','",df1$test2,"','",df1$test2,"')"),而且你可能想使用sqlUpdate而不是sqlQuery,因为你没有什么可以在这里获取。 -
我可以插入其他值。当数据包含特殊字符时,它会忽略该记录
-
'\\.\ROOT\XXXX'是您数据框中的原始字符串吗?可能值得搜索 R 编码/解码字符串? -
是的,我 20 % 的数据会有特殊字符