Я бегу запрос непосредственно, это тривиально в природе:набора данных раз в то время запрос выполняется немедленно
SELECT * FROM [dbo].[vwUnloadedJobDetailsWithData] WHERE JobId = 36963
Когда я запускаю это из студии управления запрос не даже взять второй. Когда я запускаю его из адаптера таблицы, он отключается. Я исправил это несколько раз, но исправление нелепо. Если я удалю адаптер таблицы из моего xsd-файла и заново создам его, время запроса будет соответствовать времени в студии управления примерно на два дня, но я должен перераспределить, что является asinine.
Любое понимание того, что может быть причиной этого, будет с благодарностью оценено. Я видел еще один вопрос об этом, но решение, связанное с набором arithabort до запроса, не имело для меня эффекта.
Редактировать: Мне было предложено показать код для вызова запроса. Теперь это происходит, когда я вхожу в свой файл XSD и просто делать данные предварительного просмотра, а также, но для ясности здесь:
using (TEAMSConnection connection = new TEAMSConnection())
{
connection.OpenConnection();
_JobDetailsDAO jobDetailDao= new _JobDetailsDAO(connection);
return jobDetailDao.GetUnloadedJobDetailsByJobId(jobId);
}
При выбытии связи соединение с базой данных закрывается. используя следующую строку кода:
if (_DBConnection != null && _DBConnection.State == ConnectionState.Open)
_DBConnection.Close();
Edit2: Я побежал след и здесь заданные параметры, которые в настоящее время набор
набор QUOTED_IDENTIFIER на набор ARITHABORT от набор numeric_roundabort от набор ANSI_WARNINGS на набор ANSI_PADDING на набор ANSI_NULLS на множестве CONCAT_NULL_YIELDS_NULL на набор CURSOR_CLOSE_ON_COMMIT от набор implicit_transactions от заданного языка us_english набор DateFormat MDY набор DATEFIRST 7 установленный уровень изоляции транзакций чтения совершено
Я пошел и добавил, что в запросе, который я генерируемой в студии управления и по-прежнему бежал в менее чем за секунду. Я даже скопировал запрос точно так же, как в трассировке.
exec sp_executesql N'SELECT * FROM [dbo].[vwUnloadedJobDetailsWithData] WHERE JobID = @JobId',N'@JobId int',@JobId=36963
, и это еще меньше, чем второе время возврата. Я очень смущен.
Спасибо, Джош
Похоже, что вы не закрываете свои подключения к db, но сложно точно знать, что происходит, потому что вы не делили код C#. –
Извините, у меня мало кода для обмена ..... насколько они закрыты, они определенно закрываются. Я отправлю свой запрос и обработку соединения вокруг этого запроса, если вы считаете, что это поможет. – joshlrogers