我正在使用 C# .NET 3.5 CLR 存储过程将数据导入 SQL-Server 2008 R2。理论上。
作业失败并显示以下消息:
A .NET Framework error occurred during execution of user-defined routine or aggregate "RawDataStaging":
System.Data.SqlClient.SqlException: Incorrect syntax near 'DN'.
这似乎是我的代码中的一个错误,所以我尝试调试 clr 程序集,但调试中止并显示以下消息:
.NET Framework execution was aborted. Another query caused the AppDomain db.dbo[runtime].4 to be unloaded
谷歌搜索似乎表明这是一个内存问题,但我找不到适合我的问题的匹配项。
更新:我已经处理了第一个错误,但仍然无法调试 CLR 程序集,这就是这个问题的意义所在。调试中止通常围绕以下代码:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = this._sCsvdePath;
proc.StartInfo.Arguments = sCommandArguments;
proc.Start();
proc.WaitForExit();
GC.Collect();
大多数情况下,我可以继续单步执行代码,直到proc.WaitforExit();
在某些调试中,我已经完成了几行GC.Collect()
,而且我也曾经在proc.Start()
. 这不是代码的语法,因为它在我第一次运行时工作,但是当第二次调用该方法时,调试中止。当我在服务器上执行代码时,一切正常。