在sql server中使用R读取.csv
我尝试了几种在SQLServer中使用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
以下是我试图执行的代码:
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:驱动器上。