问题描述
我正在尝试创建一个可以像可执行文件一样运行的 RScript 文件。我有连接到 Microsoft Azure sql Server 数据库的 R 代码,该数据库使用活动目录密码身份验证、查询数据库并编写 csv 报告。我为数据库创建了一个 DSN,并使用以下代码在 RStudio.exe 和 RGui.exe 的 32 位和 64 位环境中成功连接到数据库:
library(DBI)
library(tidyverse)
library(profvis)
show("Library Installed...")
pause(2)
CON <- dbConnect(odbc::odbc(),"My_DSN",uid = "UserName",pwd = "Password",timeout = 10)
show("Database Connected...")
pause(2)
sql <- "SELECT * FROM Table"
DATA <- dbGetQuery(CON,sql)
show("Data Extracted...")
pause(2)
NAME = unique(DATA$Name)
DATA.INDIVIDUAL = list()
for (i in NAME){
DATA.INDIVIDUAL[[i]] <- DATA %>% filter(Name == i) %>% select("Field1","Field2","Field3")
write.csv(DATA.INDIVIDUAL[[i]],paste("C:/My Documents/",i,"/Report.csv",sep = ""),row.names = FALSE)
show(paste("Exported",i))
pause(2)
}
我还通过显式命名数据库进行连接
library(DBI)
con <- dbConnect(odbc::odbc(),Driver = "ODBC Driver 17 for sql Server",Server = "ServerName",Database = "dbname",Authentication = "ActiveDirectoryPassword")
show("Database Connected...")
但是,当我使用 RScript.exe 运行相同的代码(两个版本)时,NULL
被打印到 RScript 命令行(在打印输出“Database Connected...”之前)和应用程序没有完成我的其余代码就退出。为什么 Rstudio 和 RGui 可以连接而 RScript 无法连接?为什么没有错误,只是打印了 NULL
?
感谢任何帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)