我有一个很长的R脚本文件,我想使用SQL Server R服务,阅读它的documentation,我还没有看到任何使用的例子:DROP PROC IF EXISTS get_iris_dataset;
go
CREATE PROC get_iris_dataset
AS
BEGIN
EXEC sp_execute_external_script
@language = N'R'
, @script = N'iris_data <- iris;'
, @input_data_1 = N''
, @output_data_1_name = N'iris_data'
WITH RESULT SETS (("Sepal.Length" float not null,
"Sepal.Width" float not null,
"Petal.Length" float not null,
"Petal.Width" float not null, "Species" varchar(100)));
END;
go
允许加载R -script文件。所有示例都旨在使用嵌入在SQL语句中的简单r计算,例如以下示例:
source("fileName")
我需要以某种方式使用r句Function gettitle(strfile)
'On Error Resume next
Set text = fso.OpenTextFile(strfile ,1)
title = ""
read = text.Readall
strdata = InStr(read,"<title>")
If strdata <> 0 Then
intstart = strdata + 7
strtext = Mid(read,intstart,250)
For i = 1 To Len(strtext)
If Mid(strtext,i,1)= "<" Then
Exit For
Else
title = title & Mid(strtext,i,1)
End If
Next
End if
WScript.Echo title
End Function
来执行r句子。
注意:我正在尝试使用SQL Server,因为它比我的个人计算机具有更好的机器性能。
提前致谢,
大卫
答案 0 :(得分:5)
使用source("filename")
执行R脚本当然是可能的。
R脚本应位于SQL Server可以访问它的某个位置。
例如:source("C:/Rscripts/script.R")
。请注意,SQL Server无法访问“我的文档”文件夹...
EXEC sp_execute_external_script
@language = N'R'
,@script = N'
source("C:/Rscripts/script.R");'
,@input_data_1 = N''
,@output_data_1_name = N'iris_data'
WITH RESULT SETS (("Sepal.Length" float not null,
"Sepal.Width" float not null,
"Petal.Length" float not null,
"Petal.Width" float not null, "Species" varchar(100)));