Подбор и обработка объектов. Удалить через СУБД
|
|
tormozit | Дата: Понедельник, 11.03.2024, 19:05 | Сообщение # 16 |
Генералиссимус
Группа: Администраторы
Сообщений: 6393
Репутация: 165
Статус: Оффлайн
| Новую ошибку воспроизвел https://www.hostedredmine.com/issues/982028
|
|
| |
tormozit | Дата: Вторник, 12.03.2024, 08:43 | Сообщение # 17 |
Генералиссимус
Группа: Администраторы
Сообщений: 6393
Репутация: 165
Статус: Оффлайн
| Исправлено в 7.18.3
|
|
| |
yasnovidyashii | Дата: Вторник, 19.03.2024, 09:24 | Сообщение # 18 |
Майор
Группа: Пользователи
Сообщений: 86
Репутация: 100
Статус: Оффлайн
| Цитата tormozit ( ) Исправлено в 7.18.3 Теперь вот такая ошибка:
Код Ошибка при вызове метода контекста (Execute) {ОбщийМодуль.ирОбщий.Модуль(28518)}: РезультатЗапроса = КомандаADO.Execute(); {Обработка.ирПодборИОбработкаОбъектов.Форма.Удалить.Форма(623)}: УдаленоВПорции = ирОбщий.ВыполнитьЗапросЭтойСУБДЛкс(ТекстСУБД,,,,,, мСоединениеСУБД,, Ложь)[0][0]; {Обработка.ирПодборИОбработкаОбъектов.Форма.Удалить.Форма(485)}: УдалитьСтрокиТаблицыСУБДПорциями(Запрос, ИмяГлавнойТаблицы, ИмяТаблицыКлючей, ИмяТаблицыКлючейСУБД,, выхОтключенныеИтоги); {Обработка.ирПодборИОбработкаОбъектов.Форма.Удалить.Форма(298)}: УдалитьОбъектыЧерезСУБД(Запрос, ИмяТаблицы,, ИмяТаблицыКлючей, ТекстСУБД, ОтключенныеИтоги); по причине: Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
|
|
| |
tormozit | Дата: Вторник, 19.03.2024, 09:28 | Сообщение # 19 |
Генералиссимус
Группа: Администраторы
Сообщений: 6393
Репутация: 165
Статус: Оффлайн
| Нужен текст запроса из КомандаADO.CommandText
|
|
| |
yasnovidyashii | Дата: Вторник, 19.03.2024, 09:32 | Сообщение # 20 |
Майор
Группа: Пользователи
Сообщений: 86
Репутация: 100
Статус: Оффлайн
| Цитата tormozit ( ) Нужен текст запроса из КомандаADO.CommandText
Код exec sp_executesql N'DELETE TOP (100000) _InfoRg22344 FROM dbo._InfoRg22344 T1 with (tablockx) WITH(NOLOCK) INNER JOIN #tt7 T2 WITH(NOLOCK) ON (T1._Fld22345_TYPE = T2._Q_000_F_000_TYPE AND T1._Fld22345_RTRef = T2._Q_000_F_000_RTRef AND T1._Fld22345_RRRef = T2._Q_000_F_000_RRRef) AND (T1._Fld22346 = T2._Q_000_F_001)',N'@P1 numeric(10)',1 ;SELECT @@ROWCOUNT
|
|
| |
tormozit | Дата: Вторник, 19.03.2024, 23:53 | Сообщение # 21 |
Генералиссимус
Группа: Администраторы
Сообщений: 6393
Репутация: 165
Статус: Оффлайн
| Ошибку подтверждаю https://www.hostedredmine.com/issues/982469
|
|
| |
tormozit | Дата: Среда, 20.03.2024, 08:29 | Сообщение # 22 |
Генералиссимус
Группа: Администраторы
Сообщений: 6393
Репутация: 165
Статус: Оффлайн
| Исправлено в 7.19.2
|
|
| |
yasnovidyashii | Дата: Среда, 20.03.2024, 10:12 | Сообщение # 23 |
Майор
Группа: Пользователи
Сообщений: 86
Репутация: 100
Статус: Оффлайн
| Ошибка не ушла.
Код Ошибка при вызове метода контекста (Execute) {ОбщийМодуль.ирОбщий.Модуль(28518)}: РезультатЗапроса = КомандаADO.Execute(); {Обработка.ирПодборИОбработкаОбъектов.Форма.Удалить.Форма(623)}: УдаленоВПорции = ирОбщий.ВыполнитьЗапросЭтойСУБДЛкс(ТекстСУБД,,,,,, мСоединениеСУБД,, Ложь)[0][0]; {Обработка.ирПодборИОбработкаОбъектов.Форма.Удалить.Форма(485)}: УдалитьСтрокиТаблицыСУБДПорциями(Запрос, ИмяГлавнойТаблицы, ИмяТаблицыКлючей, ИмяТаблицыКлючейСУБД,, выхОтключенныеИтоги); {Обработка.ирПодборИОбработкаОбъектов.Форма.Удалить.Форма(298)}: УдалитьОбъектыЧерезСУБД(Запрос, ИмяТаблицы,, ИмяТаблицыКлючей, ТекстСУБД, ОтключенныеИтоги); по причине: Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
Текст запроса:
Код exec sp_executesql N'DELETE TOP (100000) _InfoRg22344 FROM dbo._InfoRg22344 T1 WITH(NOLOCK) WITH (tablockx) INNER JOIN #tt2 T2 WITH(NOLOCK) ON (T1._Fld22345_TYPE = T2._Q_000_F_000_TYPE AND T1._Fld22345_RTRef = T2._Q_000_F_000_RTRef AND T1._Fld22345_RRRef = T2._Q_000_F_000_RRRef) AND (T1._Fld22346 = T2._Q_000_F_001)',N'@P1 numeric(10)',1 ;SELECT @@ROWCOUNT
Сообщение отредактировал yasnovidyashii - Среда, 20.03.2024, 10:12 |
|
| |
tormozit | Дата: Среда, 20.03.2024, 19:24 | Сообщение # 24 |
Генералиссимус
Группа: Администраторы
Сообщений: 6393
Репутация: 165
Статус: Оффлайн
| Вернул ошибку в работу
|
|
| |
tormozit | Дата: Воскресенье, 24.03.2024, 23:11 | Сообщение # 25 |
Генералиссимус
Группа: Администраторы
Сообщений: 6393
Репутация: 165
Статус: Оффлайн
| Исправлено в 7.20
|
|
| |
yasnovidyashii | Дата: Понедельник, 25.03.2024, 09:02 | Сообщение # 26 |
Майор
Группа: Пользователи
Сообщений: 86
Репутация: 100
Статус: Оффлайн
| Цитата tormozit ( ) Исправлено в 7.20 Подтверждаю. В этот раз отработало успешно.
|
|
| |