![]() |
![]() |
![]() |
|
ADODB.Connection запрос не выполняет | ☑ | ||
---|---|---|---|---|
0
Beduin
22.11.11
✎
19:15
|
Через SQL Server Management Studio все ок. А в 8.1 не хочет.
Cn= Новый COMОбъект("ADODB.Connection");; Cn.Open(connect); Cmd =Новый COMОбъект("ADODB.Command"); Cmd.ActiveConnection=Cn; Cmd.CommandTimeout = 120000; //Cmd.CommandType = "adCmdText"; Cmd.CommandText= "SELECT t1.[SaleManager],t1.[DT],t2.[tabnum] FROM |(SELECT [SaleManager],MAX([DT]) as dt FROM [CPCR_1C_OBMEN].[dbo].[CrtContr_log] group by [SaleManager]) as t1 |LEFT JOIN (SELECT [SaleManager],[DT],[tabnum] from [CPCR_1C_OBMEN].[dbo].[CrtContr_log] group by [SaleManager],[DT],[tabnum] ) as t2 on t1.[SaleManager] = t2.[SaleManager] and t1.[DT] = t2.[DT] |order by t1.[SaleManager]"; Может вложенные запросы через этот майкрософтовский объект использовать нельзя? |
|||
1
shuhard
22.11.11
✎
19:17
|
(0) не вижу рекордсета
|
|||
2
Beduin
22.11.11
✎
19:18
|
(1)
попытка recordset=Cmd.Execute(); Исключение Сообщить(Строка(ТекущаяДата())+" Не удалось сделать запрос к SQL - таблице контрагентов. Сверка с wp производится не будет"); КонецПопытки; |
|||
3
Beduin
22.11.11
✎
19:20
|
Причем более простой запрос делает
Cmd.CommandText= "SELECT [SaleManager],[TabNum] FROM [CPCR_1C_OBMEN].[dbo].[CrtContr_log] group by [SaleManager],[TabNum]"; А тот который вверху вываливается в исключение. |
|||
4
НаборДанных
22.11.11
✎
19:21
|
(0)Представления, временные, постоянные таблицы.
|
|||
5
Beduin
22.11.11
✎
19:22
|
(4) Нельзя использовать?
|
|||
6
shuhard
22.11.11
✎
19:22
|
(3) надо посмотреть какую ошибку вернул ADODB
|
|||
7
НаборДанных
22.11.11
✎
19:25
|
(5)Было подобное, решил через временные таблицы.
Решение выплыло исходя из "Вложенные запросы не являются стандартом в SQL следовательно каждый производитель драйвера сам решает поддерживать их или нет. Кстати даже многие сервера баз данных не поддерживают такие запросы." |
|||
8
Beduin
22.11.11
✎
19:27
|
(7) Мне через временные нельзя. Там данных много.
|
|||
9
Beduin
22.11.11
✎
19:27
|
(6) Где можно глянуть?
|
|||
10
shuhard
22.11.11
✎
19:28
|
(9) ну тебе же исключение вернёт описание ошибки
а по поводу (8) -сделай хранимку на сиквеле |
|||
11
НаборДанных
22.11.11
✎
19:28
|
(8)Вариант №1 в (4) (Создать view) и вызывать его чем не устраивает?
|
|||
12
Beduin
22.11.11
✎
19:29
|
(10) ОписаниеОшибки() смотрел. Там пусто.
|
|||
13
DmitrO
22.11.11
✎
19:41
|
уже 12 постов.. :)
думаю что пора уже попытку/исключение убрать и увидеть и прочитать ошибку которую возвращает сервер |
|||
14
shuhard
22.11.11
✎
19:42
|
(13) =)
|
|||
15
Beduin
22.11.11
✎
19:43
|
(13) У меня прав нет. на логи сервера
|
|||
16
shuhard
22.11.11
✎
19:47
|
(15) DmitrO предложил убрать попытка
|
|||
17
DmitrO
22.11.11
✎
19:48
|
(15)меня просто вводит в ступор твой ответ..
Слушай, вылазь из танка, оператор Попытка и Исключение убери ради бога, а.. |
|||
18
Beduin
22.11.11
✎
19:50
|
(17) Я запутался. Где посмотреть ошибку просто скажи? Или как.
|
|||
19
Beduin
22.11.11
✎
19:50
|
(18) Все понял. Туплю.
|
|||
20
Beduin
22.11.11
✎
19:54
|
(13)
{Форма.Отчет(120)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Время ожидания истекло recordset=Cmd.Execute(); по причине: Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Время ожидания истекло |
|||
21
szhukov
22.11.11
✎
19:58
|
(20) Cmd.CommandTimeout=0;
Будет выполнять до упора... |
|||
22
Beduin
22.11.11
✎
20:03
|
(21) Спасибо. Помогло. Я думал 120000 секунд достаточно.
|
|||
23
Axel2009
22.11.11
✎
21:23
|
120000 секунд - полтора суток. записей сколько?
|
|||
24
vde69
22.11.11
✎
21:44
|
[CPCR_1C_OBMEN] - убери, если используешь имя роли [dbo] то имя базы обычно не нужно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |