RODBC对shinyapps。连接到Access数据库时出错(.mdb)

时间:2015-10-23 17:49:00

标签: r shiny rodbc unixodbc

我有一个R Shiny脚本在我的本地Windows计算机上工作正常,但是当我将它部署到shinyapps.io(这是一些类似unix)时失败。

我原来用过: odbcConnectAccess('test.mdb')但是在部署时,我得到了以下错误:

Unhandled error in observer: could not find function "odbcConnectAccess"

我测试了,其他RODBC功能仍然有用。所以我尝试了这个代码(基于this post,这也恰好是odbcConnectAccess()的内部返回)

uid=""
pwd=""
con =paste("Driver={Microsoft Access Driver (*.mdb)};Dbq=", file.path(getwd(),'test.mdb'), ";Uid=", uid, ";Pwd=", pwd, ";", sep = "")
conn=odbcDriverConnect(con)

同样,这可以在我的本地计算机上运行,​​但是当部署到ShinyApps.io时,我收到以下错误:

[RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified

我还意外地尝试了odbcConnect(con),这会出现以下错误:

Warning in odbcDriverConnect("DSN=Driver={Microsoft Access Driver (*.mdb)};Dbq=/srv/connect/apps/ALC_app_v0_1/Salvage_data_FTP.mdb;Uid=;Pwd=;") :

[RODBC] ERROR: state IM012, code 0, message [unixODBC][Driver Manager]DRIVER keyword syntax error

odbcDriverConnect()的帮助中,它提到连接字符串的格式取决于您的ODBC,而Shinysapps.io似乎使用unixODBC,但我无法找到unixODBC希望我使用的格式,以便我可以建立连接吗?

任何人都可以帮我弄清楚如何在shinyapps.io上打开与.mdb的连接?我不确定如果我能够在shinyapps.io服务器上更改.ini文件,那么我真的希望找到正确的格式/语法来建立没有DSN的连接。< / p>

感谢您提供任何帮助或反馈!

1 个答案:

答案 0 :(得分:0)

&#34; ...我们目前仅支持shinyapps.io上的开源数据库,但我们正在关注我们是否会收到更多关于专有数据库的请求。&#34; 来自ShinyApps-User group。 2015年10月23日

所以看起来目前答案是否定的。 [更新见下文]

很抱歉回答我自己的问题,但是我要离开它,因为我花了一段时间才找到确认信息,这可能会让其他人头疼。

[UPDATE] &#34; Andy纠正了我(在度假时),让我知道你可以使用FreeTDS驱动程序完成这项工作。我不是这方面的专家,但是如果你将代码改为这样的话:

odbcDriverConnect("driver=FreeTDS;Server=hostname;database=dbname;uid=username;pwd=password")

我们没有配置任何DSN,但您可以在此处查看有关如何执行此操作的提示: Trying to connect to an ODBC server using RODBC in ubuntu&#34;

所以看起来有可能。如果我让它工作,我会更新。

相关问题