Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.29;
Скачать: CL | DM;

Вниз

Запрос работает из 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.009 c
15-1318309652
И. Павел
2011-10-11 09:07
2012.01.29
Good bye sweet VCL


4-1254333344
EPaul
2009-09-30 21:55
2012.01.29
Как запустить программу пользователем SYSTEM


1-1281527200
qpwoeiruty
2010-08-11 15:46
2012.01.29
Наследование


1-1282631144
Avil
2010-08-24 10:25
2012.01.29
Разница кодировок при копировании и вставке


2-1318669158
Тима12
2011-10-15 12:59
2012.01.29
Отладка программы