harayaman
2019/10/11
# パッケージ読込
# 略
# 認証情報
db_user <- 'dbuser'
db_password <- 'dbpassword'
db_name <- 'dbname'
db_host <- 'dbhost'
db_port <- 99999
# DB接続オブジェクト
mydb <- dbConnect(MySQL(), user = db_user, password = db_password,
dbname = db_name, host = db_host, port = db_port)
# クエリを送ってデータ取得
rs <- dbSendQuery(mydb, "select * from table")
df <- fetch(rs, n = -1)
username | password |
db_user | dbuser |
db_password | dbpassword |
db_name | dbname |
db_host | dbhost |
db_port | 99999 |
コンソールか別のスクリプトファイルで実行
keyring::key_set_with_value(service = "db_auth_info",
username = "db_user",
password = 'dbuser')
keyring::key_set_with_value(service = "db_auth_info",
username = "db_password",
password = 'dbpassword')
keyring::key_set_with_value(service = "db_auth_info",
username = "db_name",
password = 'dbname')
keyring::key_set_with_value(service = "db_auth_info",
username = "db_host",
password = 'dbhost')
keyring::key_set_with_value(service = "db_auth_info",
username = 'db_port',
password = '99999')
db_user <- keyring::key_get(service = "db_auth_info",
username = 'db_user')
db_password <- keyring::key_get(service = "db_auth_info",
username = 'db_password')
db_name <- keyring::key_get(service = "db_auth_info",
username = 'db_name')
db_host <- keyring::key_get(service = "db_auth_info",
username = 'db_host')
db_port <- keyring::key_get(service = "db_auth_info",
username = 'db_port')
<get_data_from_DB.R>
# パッケージ読込
# 略
# 認証情報取得
db_user <- keyring::key_get(service = "db_auth_info", username = 'db_user')
db_password <- keyring::key_get(service = "db_auth_info", username = 'db_password')
db_name <- keyring::key_get(service = "db_auth_info", username = 'db_name')
db_host <- keyring::key_get(service = "db_auth_info", username = 'db_host')
db_port <- as.integer(keyring::key_get(service = "db_auth_info", username = 'db_port'))
# DB接続オブジェクト
mydb <- dbConnect(MySQL(), user = db_user, password = db_password,
dbname = db_name, host = db_host, port = db_port)
# クエリを送ってデータ取得
rs <- dbSendQuery(mydb, "select * from table")
df <- fetch(rs, n = -1)
<.Renviron>←既存のファイルに追記or新規作成
or コンソールか別のスクリプトファイルで実行
<get_data_from_DB.R>
# パッケージ読込
# 略
# 認証情報取得
db_user <- Sys.getenv('db_user')
db_password <- Sys.getenv('db_password')
db_name <- Sys.getenv('db_name')
db_host <- Sys.getenv('db_host')
db_port <- as.integer(Sys.getenv('db_port'))
# DB接続オブジェクト
mydb <- dbConnect(MySQL(), user = db_user, password = db_password,
dbname = db_name, host = db_host, port = db_port)
# クエリを送ってデータ取得
rs <- dbSendQuery(mydb, "select * from table")
df <- fetch(rs, n = -1)
コンソールか別のスクリプトファイルで実行
<get_data_from_DB.R>
# パッケージ読込
# 略
# 認証情報取得
db_user <- getOption('db_user')
db_password <- getOption('db_password')
db_name <- getOption('db_name')
db_host <- getOption('db_host')
db_port <- as.integer(getOption('db_port'))
# DB接続オブジェクト
mydb <- dbConnect(MySQL(), user = db_user, password = db_password,
dbname = db_name, host = db_host, port = db_port)
# クエリを送ってデータ取得
rs <- dbSendQuery(mydb, "select * from table")
df <- fetch(rs, n = -1)
手法 | 特徴 |
|
鍵のセットに名前をつけられるため、同じ名前を異なる鍵のセットで使用できる。 |
|
もともと環境変数を設定するファイルのため、隠し場所としてはわかりやすい。 鍵のセットに名前をつけられないため、同じ名前の変数を作れない。 |
|
もともと自分で変数を作成するための場所ではないと思われるため、紛らわしい? |