Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sql server中使用R读取.csv_R_Sql Server_Sql Server 2008 - Fatal编程技术网

在sql server中使用R读取.csv

在sql server中使用R读取.csv,r,sql-server,sql-server-2008,R,Sql Server,Sql Server 2008,我尝试了几种在SQLServer中使用R读取.csv文件的方法。然而,它抛出一个错误,称为“无法打开文件”。有人能指出或帮助我哪里做错了。 以下是我试图执行的代码: DECLARE @filepath varchar(100) = 'C:/ALL.csv' DECLARE @rscript NVARCHAR(MAX); SET @rscript = N' library(zoo) library(tidyr) library(dplyr) library(reshape2) options

我尝试了几种在SQLServer中使用R读取.csv文件的方法。然而,它抛出一个错误,称为“无法打开文件”。有人能指出或帮助我哪里做错了。
以下是我试图执行的代码:

DECLARE @filepath varchar(100) = 'C:/ALL.csv'
DECLARE @rscript NVARCHAR(MAX);
  SET @rscript = N'
library(zoo)
library(tidyr)
library(dplyr)
library(reshape2)

options(scipen = 999)
ALL <- read.csv(filepath, sep = ",", header = T)
final_df1 <- ALL
;

DECLARE @sqlscript NVARCHAR(MAX);

  EXEC sp_execute_external_script
    @language = N'R',
    @script = @rscript,
    @params = N'@filepath varchar(100)',
    @filepath = @filepath;

  GO
DECLARE@filepath varchar(100)='C:/ALL.csv'
声明@rscript NVARCHAR(最大值);
设置@rscript=N'
图书馆(动物园)
图书馆(tidyr)
图书馆(dplyr)
图书馆(E2)
选项(scipen=999)

所有您是否可以检查以下代码,但我想注意一点,SQL Server应该具有csv文件文件夹所需的权限

DROP TABLE IF EXISTS #TablePath
DECLARE @Path AS VARCHAR(100) ='C:/'
CREATE  TABLE #TablePath (Nm VARCHAR(100))
INSERT INTO #TablePath VALUES(@Path)
EXEC sp_execute_external_script
 @language = N'R',
 @script =  N'
library(zoo)
library(tidyr)
library(dplyr)
library(reshape2)
options(scipen = 999)
var <- MySet$Nm
setwd(paste(var,""))
ALL <- read.csv(file="ALL.csv", sep = ",", header = T)
final_df1 <- ALL'
,@input_data_1 = N'SELECT Nm FROM #TablePath'
,@input_data_1_name=N'MySet'
删除表格(如果存在)#表格路径
将@Path声明为VARCHAR(100)='C://'
创建表格#表格路径(Nm VARCHAR(100))
插入到#表路径值(@Path)
EXEC sp_execute_外部_脚本
@语言=N'R',
@脚本=N'
图书馆(动物园)
图书馆(tidyr)
图书馆(dplyr)
图书馆(E2)
选项(scipen=999)

var您是否尝试过使用
'C:\ALL.csv'
(带反斜杠)而不是
'C:/ALL.csv'
?此外,文件路径与SQLServer实例运行的位置有关,因此它需要位于服务器的C:驱动器上。