我有以下代碼在exe中工作,甚至可以在CLR中的小型xml文件上工作,但一旦它們變得大於10mb,就會發生線程流產錯誤。有什麼我需要在SQL Server中配置?CLR存儲過程線程異常
Try
sStream = HttpRequest.GetRequestStream()
sStream.Write(baByteArray, 0, baByteArray.Length)
sStream.Close()
wrWebResponse = HttpRequest.GetResponse()
sStream = wrWebResponse.GetResponseStream()
Dim readStream As New StreamReader(sStream, System.Text.Encoding.UTF8)
strXmlResponse = readStream.ReadToEnd() ' Errors out here
strXmlResponseDoc.LoadXml(strXmlResponse)
wrWebResponse.Close()
sStream.Close()
readStream.Close()
Catch ex As Exception
SqlContext.Pipe.Send(ex.ToString())
clsE.LogError(ex.ToString())
End Try
錯誤消息:
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.Thread.AbortInternal()
at System.Threading.Thread.Abort(Object stateInfo)
at System.Data.SqlServer.Internal.ClrLevelContext.CheckSqlAccessReturnCode(SqlAccessApiReturnCode eRc)
at System.Data.SqlServer.Internal.ClrLevelContext.SendMessageToPipe(String message, SmiEventSink eventSink)
at Microsoft.SqlServer.Server.SqlPipe.Send(String message)
at MacCLR.MacClass.RequestXml(String strXmlToSend)
at MacCLR.StoredProcedures.ProcessShippingXML_1(String iOrderNumb, String iXmlFilePath, String iXmlFileName, SqlInt32& iResult, SqlString& iResult_String)
是的。這是一個CLR存儲過程在.NET中 – Somejerk
酷。我添加了一個.NET語言標記,它應始終是SO上的主要標記。謝謝。 – Gray
請勿從SQLCLR下載文件。從外部執行.exe –