无法从C#/ .NET程序连接到开发(非实时)iSeries
尝试打开新连接时出现以下故障: -
“抛出了'System.ExecutionEngineException'类型的异常。”
HResult -2146233082
托管调试助手'FatalExecutionEngineError'在'C:\ Users \ sclose \ Documents \ Visual Studio 2015 \ Projects \ iSeries1 \ iSeries1 \ bin \ Debug \ iSeries1.vshost.exe'中检测到问题。
其他信息:运行时遇到致命错误。错误的地址是0x71ccec3c,在线程0x28bc上。错误代码是0xc0000005。此错误可能是CLR中的错误,也可能是用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括COM-interop或PInvoke的用户封送错误,这可能会破坏堆栈。
只是一个非常简单的点头程序,它设置一个连接字符串并打开一个新连接: -
string ConnectionString = "DataSource=MACH03Y;UserID=sysmon;Password=xxxxxxxxx;LibraryList=U1SCLOSE;Naming=System";
_connection = new iDB2Connection(ConnectionString);
安装了iAccess for Windows 7.1,并且能够通过System i Navigator连接并登录iSeries
尝试: -
1)UserId和Library列表的各种组合(有效和无效)
2)有效和无效的DataSource值
3)不同的IBM.Data.DB2.iSeries.dll版本,包括最新的
总是一样的失败
我们知道相同的代码在实时环境中成功运行,但这可能是第一次在开发环境中尝试过!
通常在dev中它使用模拟服务并且远离真正的iSeries
我在iSeries方面比在.NET方面有更多经验
认为这可能是网络/防火墙问题?
感激不尽的任何帮助
答案 0 :(得分:0)
每当我看到此错误时,Visual Studio调试器都会出现问题。我不认为这是您的代码或IBM.Data.DB2.iSeries.dll的问题。
错误代码5是Windows中的访问冲突。这些调试器崩溃通常通过升级Visual Studio或应用最新的Service Pack来修复。 VS2015在很多方面都很复杂,因为它是一次重写,几年前我遇到了这些错误,直到修复它们为止。首先尝试使用Service Pack。如果这没有帮助,请尝试2012或2017版本。也可能是Windows更新打破了这一点。它发生在以前。
另请参阅:"vshost32.exe has stopped working" OR "fatal execution engine error" in Visual Studio