无法通过Shinyapps.io连接到ODBC

时间:2019-02-12 06:45:26

标签: r shiny odbc

我构建了一个r闪亮的应用程序,该应用程序使用odbc库从公共服务器中托管的服务器中获取数据并显示结果输出。它在Win10下运行良好。

我正在使用以下代码连接到服务器:

library(odbc)
con <- dbConnect(odbc(),
                 Driver = "SQL Server Native Client 11.0",
                 Server = "****",
                 Database = "****",
                 UID = "****",
                 PWD = "****")

当我在www.shinyapps.io上托管应用程序时,它无法正常工作。它显示如下错误:

Warning: Error in : nanodbc/nanodbc.cpp:950: 01000: [unixODBC][Driver Manager]Can't open lib 'SQL Server Native Client 11.0' : file not found 

我无法解释为什么显示“找不到文件”?当我从PC上使用rstudio运行该应用程序时,该应用程序运行完美。

请帮助。 预先感谢。

Sumanta

1 个答案:

答案 0 :(得分:0)

您必须使用FreeTDS。我发现使用7.4或7.0版本。

使用odbc尝试此操作:


    library(DBI)
    library(odbc)

    con <- dbConnect(
      odbc(),
      Driver      = "FreeTDS",
      Database    = database,
      Uid         = uid,
      Pwd         = pwd,
      Server      = server,
      Port        = 1433,
      TDS_Version = 7.4
    )

或此usind rodbc:

    library(RODBC)

    con <- odbcDriverConnect(
      'Driver=FreeTDS;
      TDS_Version=7.4;
      Server=<server>;
      Port=<port>;
      Database=<db>;
      Uid=<uid>;
      Pwd=<pw>;
      Encrypt=yes;
      TrustServerCertificate=no;
      Connection Timeout=30;')