RMySQL 不能作为脚本的一部分工作

Posted

技术标签:

【中文标题】RMySQL 不能作为脚本的一部分工作【英文标题】:RMySQL does not work as part of a script 【发布时间】:2016-10-12 22:02:12 【问题描述】:

当我跑步时

library(Rmysql)
mydb = dbConnect(MySQL(), user = "XX", password = "XX", dbname = "XX", host = "XX")

在 R 控制台上它可以工作,

但是,当我将其保存为 yy.R 文件并以R CMD BATCH yy.Rsource("yy.R") 运行时,它会显示

mysqlNewConnection(drv, ...) 中的错误: RS-DBI 驱动程序:(无法连接到数据库:错误:无法连接到“XX”上的 MySQL 服务器 (111) ) 调用:dbConnect -> dbConnect -> mysqlNewConnection -> .Call 执行停止

我可以检查 RMySQL 是否只在控制台上运行?谢谢!

【问题讨论】:

【参考方案1】:

也许您可以使用 RMySQL::MySQL() 指定驱动程序,这在脚本中对我有用。

【讨论】:

抱歉,我无法重现该问题。我认为 MySQL 错误 111 是与主机相关的连接问题。当我将主机设置为“本地主机”时,连接在控制台和脚本中工作。 MySQL 在本地运行。但是,当我将其设置为“192.168.1.0”时,它会在控制台和脚本中失败。这一定是因为 MySQL 仅配置为接受来自 localhost(或 127.0.0.1)的连接。没有解释您正在经历什么,但希望它有助于指出正确的方向以找到解决方案。 link

以上是关于RMySQL 不能作为脚本的一部分工作的主要内容,如果未能解决你的问题,请参考以下文章

Perl:在使用“严格引用”时不能使用字符串(“XXX”)作为 HASH 引用

C中的Sleep()函数不能在hp不间断地工作

可以访问Oracle的AWS python Lambda脚本:驱动程序太大而不能达到50MB

API 端点授权不能通过 Powershell 脚本工作

为啥 Python 脚本 if 语句不能正常工作?

bash 脚本不能通过 crontab 工作