1

我编写了一个与 R.net 交互并执行 test.R 文件的 CLR 函数。当我从 C#.net 应用程序运行这个函数时,它运行得非常好。然后,我为此应用程序构建了一个 dll 并将其与 Sql server 2012 集成。当我尝试从 sql server 调用此方法时,它继续执行命令,但没有任何反应。你能告诉我可能出了什么问题吗?以下是我的代码
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 服务器:

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
4

0 回答 0