Я создал хранимую процедуру
CREATE PROCEDURE GetCustomerWiseSales(@StartDate nvarchar(10), @EndDate nvarchar(10))
AS
SELECT C.cCode, min(C.cName) as Customer, sum(P.BeerValue) as BeerValue, sum(P.RestGroup)as RestGroup
from Customers C
Join
(
SELECT Sales.CustomerID, SUM(SalesLog.Quantity * SalesLog.Price) as BeerValue, 0 RestGroup
FROM Sales INNER JOIN
SalesLog ON Sales.MemoNo = SalesLog.MemoNo
WHERE (pGroup=8 and pSize>500) and Sales.Billdate>=@StartDate and Sales.Billdate<=@EndDate
group by Sales.CustomerID
union all
SELECT Sales.CustomerID, 0 BeerValue,SUM(SalesLog.Quantity * SalesLog.Price) AS RestGroup
FROM Sales INNER JOIN
SalesLog ON Sales.MemoNo = SalesLog.MemoNo
WHERE (pGroup!=8) and Sales.Billdate>=@StartDate and Sales.Billdate<=@EndDate
group by Sales.CustomerID
)P
on P.CustomerID=C.cCode
group by C.cCode
этот SP отлично работает в Management Studio и выводит результаты, прежде чем я моргну. Но когда я добавил этот SP в C # App через слой доступа к данным и предварительно просмотрел данные с помощью окна предварительного просмотра TableAdapter , при первом запуске показ данных занял 8-10 секунд, а во втором запуске окна предварительного просмотра вызвали исключение Time Out. Я также добавил новый TableAdapter с обычным SQL, чтобы подтвердить эту проблему, но обычная функция SQL GetData работает хорошо.
Я не понимаю, как одна и та же процедура, которая прекрасно работает под тем же именем пользователя и паролем в Management Studio, не работает в DAL.
Любая помощь будет оценена.