繁体   English   中英

R闪亮的RODBC连接失败

[英]R shiny RODBC connection Failing

我有一个可以在本地运行的 R 闪亮应用程序,但是当我上传它时出现错误:

 first argument is not an open RODBC channel

这是我的代码:

conn<- suppressWarnings( odbcDriverConnect('driver={SQL Server};server=SWDCH;    database=GR;    trusted_connection=yes;uid=RUser , pwd=ruser'))
  data <- sqlQuery(conn,paste("exec Performance  @MetricType = '", MetricType ,"',@Metric = '", Metric ,"',   @Market = '", Market  , "', @StartDate = '", StartDate, "', @EndDate = '", EndDate, "';",sep =""),errors=FALSE)

我认为问题出在 conn 对象上,但知道问题是什么吗?

我有一个相同的问题,现在我已经解决了。 如果这对您有用,请告诉我。

问题似乎是通过Shiny引用的“默认”连接。 我正在运行以下在本地工作的代码但是给了我同样的“RODBC连接未打开”错误

在Shiny中不起作用:
tdConnection2 < - odbcConnect(“my_dsn”,eid =“ABC123”,pw =“密码”)
结果< - sqlQuery(“运行此SQL”)

我能够通过显式引用tdQuery()函数中引用的通道来修复所有内容,如下所示

在Shiny工作:
tdConnection2 < - odbcConnect(“my_dsn”,eid =“ABC123”,pw =“密码”)
结果< - sqlQuery(channel = tdConnection2,query =“运行此SQL”)

我通过像print(tdConnection2)这样的事情来诊断这个,这表明我已经成功地建立了初始连接。 由于R引用的默认版本的python,我的rPython无法正常工作,所以让我想一想Shiny可能引用的默认版本/驱动程序。 希望这也解决了你的问题。

在PC、ODBC Data Souces 中创建sqlserver ODBC 连接。 使用下面的代码片段将数据连接并存储到反应变量中。

 data <- reactive({
    ch <- odbcConnect(dsn = "DSNName", uid = "username", pwd = "password")
 sqlQuery(ch,paste('select  * from emp ')
  })

DSNName 是创建的 sql server ODBC 的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM