1

我正在使用 RStudio 和 SVN 存储库对我的 R 项目和文件进行版本控制。通常我在这些脚本的开头从数据库中获取数据。我正在使用这样的 RODBC:

channel <- odbcConnect(mydbconn, uid = "", pwd = "")

现在,我不想在这些脚本中存储连接详细信息、用户 ID 和密码,因为如果这些是硬编码的,那么可以访问 SVN 存储库的每个人都可以看到我的密码等。

在这种情况下,最好的方法是什么?运行此脚本时(例如从 RStudio 或从命令行),如何提示这些详细信息(连接、用户 ID 和密码)?

4

1 回答 1

5

如果要提示用户,可以使用[readline][1]方法:

connection <- readline("Connection: ")
uid <- readline("User id: ")
cat("Password: ")
system("stty -echo")
password <- readline()
system("stty echo")

请注意避免将密码回显到屏幕上的小技巧。

另一种选择是将这些值存储在配置文件(例如config.local)中并插入load(config.local)到脚本中。确保该文件未使用svn propset svn:ignore "config.local . ". 或者,您可以将该文件存储在不受 svn 控制的目录中。

于 2013-11-10T16:12:49.140 回答