r语言 - RStudio 和 SVN:如何提示连接详细信息以及如何避免硬编码



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

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

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

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

如果要提示用户,可以使用[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 控制的目录中。

相关内容

最新更新