Форум: "Базы";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
ВнизЗапрос работает из Management Studio. Из программы нет. Найти похожие ветки
← →
12 © (2010-04-09 09:11) [0]Ошибка: EOleException Время ожидания истекло
Пишу:
..тут делается запрос, вычисляются и подставляются параметры..
.. и делаем контроль
memo1.Lines.Add(qMain.SQL.Text);
for j := 0 to qMain.Parameters.Count - 1 do
memo1.Lines.Add(qMain.Parameters[j].Name + "="+
String(qMain.Parameters[j].Value));
qMain.Open; // тут Ошибка Время ожидания истекло
exit;
..
Затем из мемо копирую в SQL Server Management Studio, заменяю параметры, запускаю - 3-4 секунды, результаты есть.
Чего можно сделать, куда копать?
← →
turbouser © (2010-04-09 11:08) [1]
> 12 © (09.04.10 09:11)
увеличить qMain.CommandTimeout
← →
12 © (2010-04-09 11:15) [2]пробовал, 20 минут жду - ничего
из мемо копирую в SQL Server Management Studio, заменяю параметры, запускаю - 3-4 секунды
← →
Виталий Панасенко(дом) (2010-04-09 11:30) [3]ошибка в запросе видимо. или отбирается немерянное кол-во данных и все фетчится.. в отличии от менеджера
← →
Медвежонок Пятачок © (2010-04-09 11:49) [4]Чего можно сделать, куда копать?
Для начала проверить, что коннекшен запроса в проекте совпадает с коннекшеном студии.
Возможно он банально смотрит не туда (на несуществующий сервер)
← →
12 © (2010-04-09 11:51) [5]
> ошибка в запросе видимо. или отбирается немерянное кол-
> во данных и все фетчится.. в отличии от менеджера
Всегда все отбираю
и там, и там
несколько тысяч (2-3, максимум 4) строк получается
← →
Anatoly Podgoretsky © (2010-04-09 12:01) [6]> turbouser (09.04.2010 11:08:01) [1]
Да у него разные запросы в Дельфи и в SSMS а может еще и строка подключения.
← →
12 © (2010-04-09 12:03) [7]все, пятница что ли..вообще не понимаю, чем эти запросы различаются?
Первого не дождусь, второй 2 секунды..
№1
------
use ccc
select
count (*)
from
dbo.request r
join dbo.object o on r.id_object = o.id_object
join dbo.filials_sct f on f.id_sct = r.id_sct
join dbo.sct sct on sct.id_sct = r.id_sct
join dbo.oper_log ol on ol.ring_id = r.ring_id
where
r.id_sct = 26
and start_time between "07-04-2010" and "08-04-2010"
and r.id_object in( 183, 184, 189)
and len(r.aon) = 10
and left(r.aon, 1) <> 9
and r.ring_id_cisco is null
and r.ring_id is not null
and f.id_sct is not null
---------------------------
№2
declare @ID int, @CODE int, @FDATE datetime, @SDATE datetime
set @ID = 26
--set @CODE = 183
set @FDATE = "07-04-2010"
set @SDATE = "08-04-2010"
select distinct
Cast("" as char(12)) + --Лицевой счет
Cast(r.aon as char(10)) + --Телефон А
Cast(Convert(char(10), r.start_time, 112) as char(10)) + --Дата услуги (ггггммдд)
Cast("" as char(10)) + --Код услуги
Cast("" as char(15)) + --Сумма
Cast("1" as char(15)) + --Количество услуг
Cast("М09" as char(10)) + --Номер пачки
Cast( ROW_NUMBER()OVER(order by r.aon) as char(10)) + --Номер документа. ROW_NUMBER с версии 2005!
Cast("" as char(60)) --Дополнительная информация
from
dbo.request r
join dbo.object o on r.id_object = o.id_object
join dbo.filials_sct f on f.id_sct = r.id_sct
join dbo.sct sct on sct.id_sct = r.id_sct
join dbo.oper_log ol on ol.ring_id = r.ring_id
where
r.id_sct = @ID
and start_time between @FDATE and @SDATE
and r.id_object in (183, 189, 184, 42) -- = @CODE
and len(r.aon) = 10
and left(r.aon, 1) <> 9
and r.ring_id_cisco is null
and r.ring_id is not null
and f.id_sct is not null
← →
12 © (2010-04-09 12:07) [8]
> Anatoly Podgoretsky © (09.04.10 12:01) [6]
да где же разные то?
Говорю же, перед запуском дернул текст запроса и все его параметры в мемо, из мемо в Management Studio, далее заменяю параметры :ID на 26
ID=26 - это тоже в мемо у меня.
Ничего не беру стороннего ни откуда
> Медвежонок Пятачок © (09.04.10 11:49) [4]
посмотрел, туда.
← →
Медвежонок Пятачок © (2010-04-09 12:10) [9]надо не смотреть, а проверять.
например профайлером.
← →
12 © (2010-04-09 12:54) [10]Свелось к такому. Один 2 секунды, второй не дождусь. Что за???
Не дождусь
use ccc
select count(*)
from
dbo.request r
join dbo.object o on r.id_object = o.id_object
join dbo.filials_sct f on f.id_sct = r.id_sct
join dbo.sct sct on sct.id_sct = r.id_sct
join dbo.oper_log ol on ol.ring_id = r.ring_id
where
r.id_sct = 26
and start_time between "07-04-2010" and "08-04-2010"
and r.id_object in (183, 189, 184) -- на одно условие меньше!
and len(r.aon) = 10
and left(r.aon, 1) <> 9
and r.ring_id_cisco is null
and r.ring_id is not null
and f.id_sct is not null
2 секунды!!
use ccc
select count(*)
from
dbo.request r
join dbo.object o on r.id_object = o.id_object
join dbo.filials_sct f on f.id_sct = r.id_sct
join dbo.sct sct on sct.id_sct = r.id_sct
join dbo.oper_log ol on ol.ring_id = r.ring_id
where
r.id_sct = 26
and start_time between "07-04-2010" and "08-04-2010"
and r.id_object in (183, 189, 184, 42) -- ААА КАК ЖЕ ТАК!!!!!!
and len(r.aon) = 10
and left(r.aon, 1) <> 9
and r.ring_id_cisco is null
and r.ring_id is not null
and f.id_sct is not null
← →
Anatoly Podgoretsky © (2010-04-09 13:03) [11]Я не слепой и вижу
for j := 0 to qMain.Parameters.Count - 1 do
И наверно где то в Дельфи в запросе есть :ID
В приведеных запросах этого нет. Поэтому проверка из SSMS не адекватно тому, что написано в Дельфи. Кроме того тебе еще намекали на ConnetiongString, попробуй выполнить из Дельфи простой запрос SELECT * FROM tbl, вместо старого запроса, строго в том же компоненте, в котором оно не работает.
← →
Anatoly Podgoretsky © (2010-04-09 13:04) [12]> Медвежонок Пятачок (09.04.2010 12:10:09) [9]
Запрос мы видимо не увидим.
← →
Медвежонок Пятачок © (2010-04-09 13:33) [13]интересно, на кой леший в делфийском запросе использовать use?
сразу-то нельзя сделать нужную базу текущей?
ну или на худой конец
from ссс.dbo.request r .....
← →
12 © (2010-04-09 13:53) [14]
> Запрос мы видимо не увидим.
почему так(т.е.declare всякие) - пока тестируюdeclare @ID int, @CODE int, @FDATE datetime, @SDATE datetime
set @ID = :IdSCT --26
set @CODE = :IdObject --183
set @FDATE = :FirstDATE --"29-03-2010"
set @SDATE = :SecondDATE --"30-03-2010"
select distinct
Cast("" as char(12)) + --Лицевой счет
Cast(r.aon as char(10)) + --Телефон А
Cast(Convert(char(10), r.start_time, 112) as char(10)) + --Дата услуги (ггггммдд)
Cast("" as char(10)) + --Код услуги
Cast("" as char(15)) + --Сумма
Cast("1" as char(15)) + --Количество услуг
Cast("М09" as char(10)) + --Номер пачки
Cast( ROW_NUMBER()OVER(order by r.aon) as char(10)) + --Номер документа. ROW_NUMBER с версии 2005!
Cast("" as char(60)) --Дополнительная информация
as StringForWrite
from
dbo.request r
join dbo.object o on r.id_object = o.id_object
join dbo.filials_sct f on f.id_sct = r.id_sct
join dbo.sct sct on sct.id_sct = r.id_sct
join dbo.oper_log ol on ol.ring_id = r.ring_id
where
r.id_sct = @ID
and start_time between @FDATE and @SDATE
and r.id_object = @CODE
and len(r.aon) = 10
and left(r.aon, 1) <> 9
and r.ring_id_cisco is null
and r.ring_id is not null
and f.id_sct is not null
> Медвежонок Пятачок © (09.04.10 13:33) [13]
>
> интересно, на кой леший в делфийском запросе использовать
> use?
это уже в аналайзере
я просто к чему - что-то с БД не так, мне кажется.
← →
Медвежонок Пятачок © (2010-04-09 14:03) [15]это уже в аналайзере
Ну так у тебя тогда оба запроса в аналайзере (оба с use).
А при чем здесь делфи?
← →
12 © (2010-04-09 14:16) [16]скучный ты... :)
это я потом понял.
← →
12 © (2010-04-09 15:04) [17]Всем спасибо за поддержку и обсуждение моей проблемы,
кому интересно - настоящая проблема в БД, индекс порушился.
← →
Anatoly Podgoretsky © (2010-04-09 15:39) [18]> 12 (09.04.2010 15:04:17) [17]
Да так, что в SSMS работает, а в Дельфи нет.
Расскажи нам еще сказок.
← →
12 © (2010-04-09 16:06) [19]в делфи я не тот период брал, не по тем кодам - дымал какая разница, за какой день..
← →
Медвежонок Пятачок © (2010-04-09 16:13) [20]а мы думали:
а какая разница, что в делфи ты не получаешь результатов.
в студии же они есть, значит все ок и проблемы нет
← →
12 © (2010-04-09 16:19) [21]извините, ввел в заблуждение
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.004 c