1
메신저를 처음 사용하는 경우입니다. 나는 내 로그인 페이지가 실행하려고 내 webconfig.When true로 내 로컬 캐시를 설정 System.Data.SqlClient.SqlException가 HRESULT = 0x80131904 메시지 = 최대 저장 프로 시저, 함수를 발생SQL 실행 : 최대 저장 프로 시저 .. 레벨 초과
다음과 같은 오류를 제공합니다 , 트리거 또는보기 중첩 수준을 초과했습니다 (제한 32). 출처 = 닷넷하는 SqlClient 데이터 공급자 스택 트레이스는 :
그것은 내가 뭘 잘못 다음 코드
lock (lastlevelLock)
{
DataSet retval = new DataSet();
if (UseLocalCache)
{
retval =Data.DataRepository.Provider.GetDetailsAll(); // this is where the error comes in
if (retval == null)
retval = new DataSet();
}
else
에 오류가 발생합니다? 왜냐하면 똑같은 코드와 db가 다른 컴퓨터에서도 잘 작동하기 때문입니다. stackflow에서 언급 한 다른 비슷한 오류를 살펴 봤지만 아무런 도움이되지 않았습니다.
--WITH ENCRYPTION
AS
BEGIN
;WITH cte AS (
SELECT //do selection
FROM Table g WITH(NOLOCK)
)
SELECT //do selection
INTO #cte
FROM cte c
INNER JOIN list.Type gt WITH(NOLOCK) ON c.TypeId = gt.TypeID
INNER JOIN table.crumb br WITH(NOLOCK) ON c.ID = br.ID
ORDER BY Lev
SELECT
// select columns
NULL AS ResultExpected
INTO #TempGame
FROM #cte tg
JOIN list.Type gt WITH(NOLOCK) ON tg.TypeID = gt.TypeID
WHERE tg.ID IN (
SELECT ID FROM table2 WITH(NOLOCK)
WHERE ID = tg.ID
)
SELECT
//select columns
INTO #Temp2
FROM tanbe2 m WITH(NOLOCK)
INNER JOIN table g WITH(NOLOCK) ON m.ID = g.ID
//perform all joins
WHERE m.ID IN (SELECT ID FROM #Temp)
GETDATE() < ISNULL(m.ResultDateTime, m.ResultExpected)
SELECT * FROM #Temp
SELECT * FROM #Temp2
ORDER BY ResultExpected
DROP TABLE #cte
DROP TABLE #Temp
DROP TABLE #Temp2
END
GO
'GetDetailsAll' 메소드 콘텐츠를 표시 할 수 있습니까? 일반적으로 SELECT 문에 OPTION (MAXRECURSION 0)을 추가하여 SQL Server 쿼리에서 수정할 수 있지만 C# 코드에서 쿼리를 실행하는 방법을 알지 못합니다. –
안녕하세요 @ TetsuyaYamamoto 내가 GetDetailsAll.But SQL 쿼리를 너무 거대하기 때문에 나는 그것에 조금 줄이려고했다 그러나 그 기본 구조를 추가 – Jesse