R Studio中WRDS连接报错:fe_sendauth: no password supplied
解决WRDS连接报错:fe_sendauth: no password supplied
1. 修正数据库名称拼写错误
你的代码里dbname = "words"是笔误,WRDS的正确数据库名称为"wrds",这个错误会直接导致连接逻辑异常。
2. 确保环境变量正确加载
Sys.getenv("WRDS_USER")和Sys.getenv("WRDS_PASSWORD")是读取系统环境变量中的账号密码,如果没预先设置这两个变量,R无法获取到认证信息,就会触发"无密码提交"的报错。
设置环境变量的两种方式:
- 临时生效(仅当前R会话):
在执行连接代码前先运行:Sys.setenv(WRDS_USER = "你的WRDS用户名") Sys.setenv(WRDS_PASSWORD = "你的WRDS密码") - 永久生效(所有R会话):
修改.Renviron文件实现持久化配置:- 在RStudio中执行
usethis::edit_r_environ()打开配置文件 - 添加两行内容:
WRDS_USER=你的WRDS用户名 WRDS_PASSWORD=你的WRDS密码 - 保存文件后重启RStudio
- 在RStudio中执行
3. 修正后的完整连接代码
wrds <- dbConnect( Postgres(), host = "wrds-pgdata.wharton.upenn.edu", dbname = "wrds", port = 9737, sslmode = "require", user = Sys.getenv("WRDS_USER"), password = Sys.getenv("WRDS_PASSWORD") )
额外验证项
- 先通过WRDS网页端确认账号密码的有效性
- 检查网络环境是否允许访问WRDS服务器,确保端口9737未被防火墙或代理拦截
内容的提问来源于stack exchange,提问作者Gertjan V
相关产品推荐
相关产品推荐

