有人遇到他的问题吗?我有一个闪亮的应用程序,使用SQL文件使用RODBC包从MS SQL服务器导入数据。我已将此问题缩小到 server.R 文件中:
ch <- odbcConnect(dsn = xxxxxx)
iQry <- readChar("LeaderDashInd.sql", file.info("LeaderDashInd.sql")$size, T)
oQry <- readChar("LeaderDashOrg.sql", file.info("LeaderDashOrg.sql")$size, T)
iDat <- sqlQuery(channel = ch, query = iQry, stringsAsFactors = F)
oDat <- sqlQuery(channel = ch, query = oQry, stringsAsFactors = F)
odbcClose(ch)
# PREPROCESSING --------------------------
cy <- max(iDat$CampYear)
应用停在上面的最后一行并给出... iDat $ CampYear中的错误:$运算符对原子向量无效。我知道这个块是问题所在,因为当我有相同的应用程序运行导入的csv文件时,它可以工作。
有几点需要注意:
有什么想法吗?
答案 0 :(得分:0)
仅供参考...将SQL查询更改为存储过程,然后使用RODBC::sqlQuery
调用存储过程解决了问题。 $ operator invalid 错误即将发生,因为查询未运行并返回空向量。
仍然没有解释为什么使用readChar
的独立查询在Shiny Server中不起作用,但是嘿......这是一个修复。