使用凭证文件(而不是明文)的 RODBC 到 SQL

Posted

技术标签:

【中文标题】使用凭证文件(而不是明文)的 RODBC 到 SQL【英文标题】:RODBC to SQL using credentials file (as opposed to clear text) 【发布时间】:2014-11-03 13:25:56 【问题描述】:

所以这行得通:

odbcConnect("TestDB", "admin", "password")

但我不想使用明文形式的用户名和密码。我想只需将凭据写入文本文件并导入该文件以用于:

odbcConnect(textFile)

保存凭据并调用 readLines(textFile) 会生成一个带有转义字符的字符串,该字符串会引发连接:

"odbcConnect(\"TestDB\", \"admin\", \"password\")"

我尝试了文本文件中的大量转义字符,还尝试使用粘贴创建字符串,但结果总是返回到上述行的版本。有人有解决方法或更安全的方法来连接 SQL 吗?

【问题讨论】:

【参考方案1】:

您可以将变量存储在单独的 .r 文件中。username = yourusername password = yourpassword dsn = yourDB

在您连接 ODBC 的脚本中,您可以调用定义这些变量的脚本。 source("variables.r")

【讨论】:

这是有道理的......我应该/希望我能想到这一点!感谢您抽出宝贵的时间 - 快把我逼疯了。 我更进一步,简单地获取到数据库脚本的连接,然后变量永远不会进入会话。

以上是关于使用凭证文件(而不是明文)的 RODBC 到 SQL的主要内容,如果未能解决你的问题,请参考以下文章

使用 RODBC 清除特定行

让日文字符在 R Shiny 中显示

如何在 AWS CLI 中覆盖环境变量并使用 AWS 凭证文件?

使用 md5 加密密码而不是明文密码登录 PostgreSQL

运行 randomForestSRC 后 RODBC 失去连接

通过DBI从Access到R的连接