2017-10-03 7 views
1

これは初めてのキャッシュの使用です。私は私が私のログインページが実行しようとする私のwebconfig.Whenにtrueに自分のローカルキャッシュを設定するSystem.Data.SqlClient.SqlExceptionは HRESULT = 0x80131904 メッセージ=最大ストアドプロシージャ、ファンクションを発生Sql execption:最大ストアドプロシージャのレベルが超過

次のエラーを与えます、トリガー、またはビューの入れ子レベルを超えました(制限32)。 ソース=ネットSqlClientデータプロバイダ のStackTrace:

それは次のコード

​​

私が間違って何をやっている時にエラーがスローされますか?まったく同じコードと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 
+0

'GetDetailsAll'メソッドのコンテンツを表示できますか?通常、 'SELECT'文に' OPTION(MAXRECURSION 0) 'を追加してSQL Serverクエリで修正することはできますが、C#コードからどのようにクエリを実行するのか分かりません。 –

+0

こんにちは@TetsuyaYamamoto私はGetDetailsAllを追加しました。しかし、SQLクエリはあまりにも大きいので、私はそれを少し削減する必要があったが、その基本的な構造 – Jesse

答えて

0

は、複数の時間のためのさまざまなソリューションを検索して試した後、私は最終的にちょうどAGAINデシベルを復元し、動作するように見えました。

関連する問題