r语言 - ' DBI::dbGetQuery '从闪亮的应用程序运行的问题



我有一个闪亮的应用程序,用户选择一个SQL数据库中的表,然后选择这个表的一些列。然后应用程序运行这个函数来获取表:

selectAllGetQuery <- function(conn, columns, table){
columns <- toString(sprintf("[%s]", columns))
query <- sprintf("select %s from %s", columns, table)
print(columns) # ok
print(query) # ok
dbGetQuery(conn, query)
}

一个表有一个名为ACT_TEMP_°C_的列。当我选择它时,dbGetQuery语句失败:无效的列名'ACT_TEMP_°C_'。但是,正如您所看到的,我在函数中包含了print(columns)print(query),并且这些语句在R控制台中正确地打印了ACT_TEMP_°C_。所以我真的迷路了。函数接收到正确的名称,但在dbGetQuery中更改为错误的名称。

解决

dbGetQuery(conn, stringi::stri_enc_tonative(query))

相关内容

  • 没有找到相关文章

最新更新