【发布时间】:2019-02-04 17:47:23
【问题描述】:
这里我使用以下 R 外部脚本将 sql 数据库表写入 csv 文件。
我知道如何使用导出和导入向导导出数据。
但我必须使用脚本导出数据。
declare @file_path varchar(300)
select @file_path = 'C:/NB/DATA/DB/arima.csv'
EXEC sp_execute_external_script
@language = N'R'
,@script = N'
write.csv(data,file=file_path,row.names=FALSE);'
,@input_data_1_name = N'data'
,@input_data_1= N'select * from [dbo].[fcst_model]'
,@params = N'@file_path varchar(300)'
,@file_path = @file_path;
注意:
- fcst_model 是数据库表
- 它有两列
执行脚本时出现以下错误。
Msg 39004, Level 16, State 20, Line 305
A 'R' script error occurred during execution of 'sp_execute_external_script'
with HRESULT 0x80004004.
Msg 39019, Level 16, State 2, Line 305
An external script error occurred:
Error in file(file, ifelse(append, "a", "w")) :
cannot open the connection
Calls: source ... write.csv -> eval.parent -> eval -> eval -> write.table ->
file
In addition: Warning message:
In file(file, ifelse(append, "a", "w")) :
cannot open file 'C:/NB/DATA/DB/arima.csv': Permission denied
谁能帮我解决这个问题。
提前致谢。
【问题讨论】:
-
你能解决你的问题吗?
-
是的,实际上在早些时候我没有权限在 C 驱动器中写入文件,现在我可以访问它们然后我通过将 file_path 作为参数传递给存储过程来运行代码。谢谢你的提问..
-
我通过为目标文件夹分配所有应用程序包权限解决了我的问题。无论如何,很好,我们都解决了我们的问题:)
标签: mysql r export-to-csv