(老鸟求助)异步线程读取sqlserver数据库的数据老是出错,非常莫

WBOY
풀어 주다: 2016-06-07 15:40:00
원래의
1164명이 탐색했습니다.

SELECT * FROM ( SELECT M.*, [dbo].[fn_getFullRegionName_M](M.[Workplace]) AS [WorkplaceName], R.[Name], R.[Score], R.[LastModificationTime], UP.[TrueName], UP.[Sex], UP.[Birthday], UP.[HighestDegree], UP.[WorkExperience], ROW_NUMBER() OVER

SELECT * FROM (
 SELECT M.*, [dbo].[fn_getFullRegionName_M](M.[Workplace]) AS [WorkplaceName], R.[Name],
     R.[Score], R.[LastModificationTime], UP.[TrueName], UP.[Sex], UP.[Birthday], UP.[HighestDegree], UP.[WorkExperience], 
        ROW_NUMBER() OVER(ORDER BY R.[LastModificationTime] DESC) AS _pos
        FROM [Personal].[JobApplication] M
        LEFT JOIN [Personal].[Resume] R ON R.[ResumeID] = M.[ResumeID]
        LEFT JOIN [Personal].[UserProfile] UP ON UP.[ResumeID] = M.[ResumeID]
        WHERE
        R.[IsActived] = 1 AND
        R.[FullLevel ] > 1
    ) AS sp
    WHERE _pos BETWEEN (@pageIndex-1) * @pageSize + 1 AND @pageIndex * @pageSize;

 

以上为要执行的语句,出现这样的错误:
System.Threading.ThreadAbortException: 正在中止线程。
   在 SNINativeMethodWrapper.SNIPacketGetConnection(IntPtr packet)
   在 System.Data.SqlClient.TdsParserStateObject.ProcessSniPacket(IntPtr packet, UInt32 error)
   在 System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
   在 System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
   在 System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
   在 System.Data.SqlClient.TdsParserStateObject.ReadByteArray(Byte[] buff, Int32 offset, Int32 len)
   在 System.Data.SqlClient.TdsParserStateObject.ReadUInt32()
   在 System.Data.SqlClient.TdsParserStateObject.ReadPlpLength(Boolean returnPlpNullIfNull)
   在 System.Data.SqlClient.TdsParser.ReadPlpUnicodeChars(Char[]& buff, Int32 offst, Int32 len, TdsParserStateObject stateObj)
   在 System.Data.SqlClient.TdsParser.ReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj)
   在 System.Data.SqlClient.TdsParser.ReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj)
   在 System.Data.SqlClient.SqlDataReader.ReadColumnData()
   在 System.Data.SqlClient.SqlDataReader.ReadColumn(Int32 i, Boolean setTimeout)
   在 System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
   在 System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
   在 ZM.PH.MyLucene.FullIndexer.BeginLoadData() 位置 G:\ProgrammerHelper\PHSolution\MyLucene\Indexer\FullIndexer.cs:行号 88

运行环境:windows2003,iis6,asp.net .net framework 3.5。

奇怪的是,我在本地用winform程序调用该组件访问数据却从没来没有出错过(异步),可以排除程序本身的问题。

本人在行内也呆了近七八年了,从未见过这样的错误,调试时发现出错的字段不尽相同,应该不是由于某一字段数据有问题造成。

有经验的同志帮忙看一下,谢了!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!