虽然我不知道SO法定人数是多少,但问题本身很简单:
当您从R连接到数据库时,如何处理db连接字符串中的密码?
当您从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行作为密码)放在对本地的调用中,以便包含密码的变量在使用时立即消失.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。