Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 类型为';的未处理异常;System.StackOverflowException';发生在RDotNet.dll中_C#_Mysql_R - Fatal编程技术网

C# 类型为';的未处理异常;System.StackOverflowException';发生在RDotNet.dll中

C# 类型为';的未处理异常;System.StackOverflowException';发生在RDotNet.dll中,c#,mysql,r,C#,Mysql,R,上下文:下面的代码与C#windows应用程序配合得很好,当来到MVC Web应用程序时,它会引发一个异常“RDotNet.dll中发生了“System.StackOverflowException”类型的未处理异常”,我使用的是RDotNet v1.6.5 string rScriptFilePath = ConfigurationManager.AppSettings["RScriptFilePath"].ToString(); var envPath = Environme

上下文:下面的代码与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异常

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


可能的解决方案2


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

可能的解决方案1

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

问题是,默认情况下,我使用的库在数字旁边绘制图表。 当涉及到这样的绘图函数时,会引发StackOverflow异常

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


可能的解决方案2

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