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")

パスワードが画面に表示されないようにするちょっとしたコツに注意してください。

もう 1 つのオプションは、これらの値を構成ファイル(例: ) に保存し、スクリプトconfig.localに挿入することです。load(config.local)ファイルが でバージョン管理されていないことを確認してくださいsvn propset svn:ignore "config.local . "。または、svn の管理下にないディレクトリにそのファイルを保存することもできます。

于 2013-11-10T16:12:49.140 に答える