加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 如何处理R连接字符串中的DB密码?

发布时间:2020-12-12 08:33:17 所属栏目:MsSql教程 来源:网络整理
导读:虽然我不知道SO法定人数是多少,但问题本身很简单: 当您从R连接到数据库时,如何处理db连接字符串中的密码? 教程经常显示一个这样的例子. con - dbConnect(MySQL(),user="root",password="test",dbname="research_db",host="localhost",client.flag=CLIENT_MU
虽然我不知道SO法定人数是多少,但问题本身很简单:
当您从R连接到数据库时,如何处理db连接字符串中的密码?

教程经常显示一个这样的例子.

con <- dbConnect(MySQL(),user="root",password="test",dbname="research_db",host="localhost",client.flag=CLIENT_MULTI_STATEMENTS)

如果数据库确实是您的实验本地主机,这可能有些现实.但是,如果您在服务器上使用多个用户,则可能不希望公开这样的数据库凭据.特别是当RStudio Server与SQL数据库相结合时,您可能希望加密.你有什么经验?

解决方法

这是一个示例代码,使用tcltk软件包在隐藏实际值时提示输入密码:
library(tcltk)
tt <- tktoplevel()
pass <- tclVar()
tkpack(tklabel(tt,text='Password:'))
tkpack(tkentry(tt,textvariable=pass,show='*'))
tkpack(tkbutton(tt,text="Done",command=function()tkdestroy(tt)))
tkwait.window(tt)
tclvalue(pass)

在这种情况下,它只是在最后打印出未隐藏的密码,但是可以将其包装在一个函数中以返回该值,然后将其用作password参数的值.或者您可以将此和连接调用(使用tclvalue行作为密码)放在对本地的调用中,以便包含密码的变量在使用时立即消失.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读