Here is the stack trace for the exception.  It occurs around 2-3 minutes into the inport so I don't think it's a IIS/asp.net timeout issue.

System.Threading.ThreadAbortException: Thread was being aborted.    
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)    
at System.Data.SqlClient.SqlCommand.ExecuteReader()    
at System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader()    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope request, IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecutePostSelect(IDalSession session, RequestScope request)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope request, IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecutePostSelect(IDalSession session, RequestScope request)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope request, IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecutePostSelect(IDalSession session, RequestScope request)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope request, IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject, Object resultObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession session, Object parameterObject)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecutePostSelect(IDalSession session, RequestScope request)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForList(RequestScope request, IDalSession session, Object parameterObject, Int32 skipResults, Int32 maxResults, RowDelegate rowDelegate)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(IDalSession session, Object parameterObject, Int32 skipResults, Int32 maxResults)    
at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(IDalSession session, Object parameterObject)    
at IBatisNet.DataMapper.SqlMapper.QueryForList(String statementName, Object parameterObject)    
at Xhibitnet.Gmri.MysteryWeb.Data.Dal.TopicSection.Find(Int32 studentUserId, Int32 activityId) in C:\xhibitnet\GMRI\PI Web\Source Code\trunk\GmriMysterySolution\Data\Dal\TopicSection.cs:line 230    
at Xhibitnet.Gmri.MysteryWeb.webservices.visit_services.CreateTeamArtifactRecord(XmlNode ArtifactNode, UserAccount StudentUserAccount, Int32 activityId) in c:\xhibitnet\gmri\pi web\source code\trunk\gmrimysterysolution\gmrimysteryweb\webservices\visit_services.asmx.cs:line 315    
at Xhibitnet.Gmri.MysteryWeb.webservices.visit_services.ProcessUploadedVisit(String completedVisitXml) in c:\xhibitnet\gmri\pi web\source code\trunk\gmrimysterysolution\gmrimysteryweb\webservices\visit_services.asmx.cs:line 806    
at Xhibitnet.Gmri.MysteryWeb.webservices.visit_services.HandleVisitUploadRequest(String completed


Shawn Smiley <[EMAIL PROTECTED]> wrote:
This is somewhat related to my previous message about handling large transactions (same code block).


In our production environment, I'm getting a ThreadAbortException while importing a large amount of data into a SQL Server database using the iBatis objects from my ASP.net webapp (the import occurs via a web service call).  I'm completely baffled by this error, it does not occur in my development environment and seems to occur after processing around 100-200 insert statements.

The process that I have is that an XML file is passed to a web service on my web app.  The web service then parses the XML and imports the data into the SQL Server database.  The XML file will usually contain enough data to require around 500 or so inserts/updates across 5 or 6 tables in the database.  At many of the upper lev el tables, I'm doing a Find() and then Update() where as the lower level tables do Insert().

The production enviro nment is a dedicated Windows 2003 Server.  I'm currently using the 1.3 build of iBatis (svn rev 179390).

Can anyone offer some suggestions on what may be causing this problem and how to solve it? 

Thanks,
Shawn.

Yahoo! Photos � Showcase holiday pictures in hardcover
Photo Books. You design it and we�ll bind it!


Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.

Reply via email to