如何解决RODBC连接在R Markdown文档中不起作用
在序言之后,我立即将以下代码作为.Rmd文档的一个代码块,以连接到Azure SQL Server数据库:
# Load packages
library(RODBC)
library(rstudioapi)
# Initialize connection
uid <- showPrompt("Username","Enter your database username:")
pwd <- askForPassword("Enter your database password:")
channel <- odbcConnect("my_dsn",uid,pwd,rows_at_time = 1,believeNRows = FALSE)
# Remove credentials from memory
rm(uid,pwd)
head(sqlQuery(channel = channel,"SELECT * FROM schema.TABLE"))
在.Rmd中,如果我进入此代码块下方并单击“在上方运行所有块”,或者如果我使用Ctrl + Enter运行代码行,则代码可以正常工作。但是,如果我尝试用此代码编织.Rmd,它不有效。
Error in sqlQuery(channel = channel,"SELECT * FROM schema.TABLE") :
first argument is not an open RODBC channel
Calls: <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval -> head -> sqlQuery
Execution halted
为什么会这样?
其他信息:我正在使用RStudio 1.3.1056。
> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19041)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rstudioapi_0.11 RODBC_1.3-17
loaded via a namespace (and not attached):
[1] compiler_4.0.2 tools_4.0.2 htmltools_0.5.0 yaml_2.2.1 rmarkdown_2.3 knitr_1.29
[7] xfun_0.16 digest_0.6.25 rlang_0.4.7 evaluate_0.14
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。