Вызов R.net с использованием функции SQLCLR

Я написал функцию CLR, которая взаимодействует с R.net и выполняет файл test.R. Эта функция работает отлично, когда я запустил ее из приложения C#.net. Затем я создал dll для этого приложения и интегрировал его с Sql server 2012. Когда я пытаюсь вызвать этот метод с сервера sql, он продолжает выполнять команду, и ничего не происходит. Можете ли вы предложить мне, что могло пойти не так? Ниже приведен фрагмент моего кода
C#:

 public static void  callfrmFile(out string result)
    {

        try
        {
            REngine.SetEnvironmentVariables();
            REngine engine = REngine.GetInstance();
            engine.Initialize();
            engine.Evaluate("setwd('E://Clients//RStuido')");
            engine.Evaluate("source('test1.R')");
            engine.Dispose();
            result = "1";
        }
        catch (Exception ex)
        {
            result = ex.Message;
        }     
    }

SQL Server:

CREATE PROC spa_callRfrmFile
(@result NVARCHAR(1024) OUTPUT)
AS
    EXTERNAL NAME Rintegrate.[Rintegrate.UDF].callfrmFile
GO

DECLARE @a NVARCHAR(500)
EXEC spa_callRFrmFile @a OUT
SELECT @a

0 ответов

Другие вопросы по тегам