gpt4 book ai didi

c# - RDotNet.dll 中发生类型为 'System.StackOverflowException' 的未处理异常

转载 作者:行者123 更新时间:2023-11-29 18:32:32 27 4
gpt4 key购买 nike

上下文:下面的代码在 C# Windows 应用程序中运行良好,当进入 MVC Web 应用程序时,它会抛出异常“RDotNet.dll 中发生了类型为‘System.StackOverflowException’的未处理异常”,我正在使用 RDotnet v1 .6.5

    string rScriptFilePath = ConfigurationManager.AppSettings["RScriptFilePath"].ToString();
var envPath = Environment.GetEnvironmentVariable("PATH");var rBinPath = System.Environment.Is64BitProcess ? @"C:\Program Files\R\R-3.4.1\bin\x64" : @"C:\Program Files\R\R-3.4.1\bin\i386";
Environment.SetEnvironmentVariable("PATH", envPath + Path.PathSeparator + rBinPath);
engine = REngine.GetInstance();
engine.Initialize();
string execRScriptPath = "source(\"" + rScriptFilePath + "\", encoding = \"Windows-1252\")";
engine.Evaluate(execRScriptPath);

and my R script file contains the below code to get Data from MYSQL DB 'Users' table and and load data into the same DB "testTable10" table

if (!require("DT")) install.packages('DT')
if (!require("DBI")) install.packages('DBI')
if (!require("RMySQL")) install.packages('RMySQL')
library(DT)
library(DBI)
library(RMySQL)

mydb = dbConnect(MySQL(), user = 'userName', password = 'password', dbname = 'SomeDb', host = 'localhost')
dbListTables(mydb)
dbListFields(mydb, 'Users')
rs = dbSendQuery(mydb, "select Id,Code,Name from Users")
data = fetch(rs, n = -1)
dbWriteTable(mydb, "testTable10", data)
datatable(data)

Please help me to solve this problem....!

最佳答案

可能的解决方案1

将 R.Net 从控制台应用程序迁移到 MVC Web 应用程序时,我遇到了同样的问题。

问题是我使用的库默认在数字旁边绘制图表。当涉及到这样的绘图函数时,会抛出 StackOverflow-Exception。

在 MVC 上,无法访问 GDI 资源。 请检查您使用的某些函数是否需要/使用 GDI 函数。在我使用的函数上使用 graph = FALSE 禁用图形输出后,它可以在 MVC 上运行。也许您身边也有类似的选择。

<小时/>

可能的解决方案2

即使禁用图形输出,我的 r 代码也只能在第一次成功运行。第二次运行时,Stackoverflow-Exception 再次发生。 从 Microsoft ( https://mran.microsoft.com/open ) 切换到 R-Open 后,它现在可以正常工作,多次没有出现任何异常:)

关于c# - RDotNet.dll 中发生类型为 'System.StackOverflowException' 的未处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45567348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com