|
Добавление значения в столбец "datetime" привело к переполнению | ☑ | ||
---|---|---|---|---|
0
wangoff
16.06.14
✎
20:14
|
Друзья, помогите разобраться в вопросе:
Есть внешний источник данных. Он подключается к таблице SQL, которая хранит данные регистра накопления второй базы 1С. При запросе используется функция ДобавитьКДате(ВнешнийИсточник.Период,Год,-2000), дабы избавиться от смешения дат. При этом возникает ошибка: Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: 22007 Номер ошибки: 517 Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]Добавление значения в столбец "datetime" привело к переполнению. Я проверил, все выбираемые записи имеют корректные данные в поле период. И если использовать функцию ДобавитьКДате(ВнешнийИсточник.Период,Год,-100), то все работает нормально. И исходная функция работала нормально неделю назад. |
|||
1
фобка
16.06.14
✎
20:19
|
>И исходная функция работала нормально неделю назад.
Появилась какая-то запись с пустым периодом? В общем, "ДобавитьКДате(ВнешнийИсточник.Период,Год,-2000)" выпадает из нормального интервала дат |
|||
2
wangoff
16.06.14
✎
20:30
|
(1) Это было первое, что я проверил. Если в запросе просто выбрать даты, без смещения в -2000, то выходят значения, - все за 4014 год.
|
|||
3
фобка
16.06.14
✎
20:34
|
(2) 4014 - очень странная цифра, непонятно откуда она взялась.
Если конкретно здесь ошибки ты не видишь, значит ошибка в другом поле. Вообще, я бы делал запрос на выборку, с упорядочиванием по этой дате и визуально пробежался по результату |
|||
4
rendez-vous
16.06.14
✎
20:37
|
(0) текст запроса нужен
|
|||
5
wangoff
16.06.14
✎
20:46
|
(4) Что даст текст запроса? Ошибка воспроизводится изменением параметра функции ДобавитьКДате()
ВЫБРАТЬ РНОплаты.Сумма КАК Сумма, ДОБАВИТЬКДАТЕ(РНОплаты.Период, ГОД, -2000) КАК Период, ДокументСтраховойПолис.Номер, ПРЕДСТАВЛЕНИЕ(РНОплаты.РегистраторСсылка) КАК Регистратор ИЗ ВнешнийИсточникДанных.КонтинентСтрахование30.Таблица.РНОплаты КАК РНОплаты ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.КонтинентСтрахование30.Таблица.ДокументСтраховойПолис КАК ДокументСтраховойПолис ПО РНОплаты.ПолисСсылка = ДокументСтраховойПолис.ПолисСсылка ГДЕ ДокументСтраховойПолис.Номер В(&Номера) И РНОплаты.Активность |
|||
6
wangoff
16.06.14
✎
20:56
|
(3) в смысле - странный? Они ж в SQL хранятся со смещением.
|
|||
7
rendez-vous
16.06.14
✎
20:59
|
(5) А теперь убери ГДЕ.
Думается мне, что переполнение происходит до того как накладывается фильтр. |
|||
8
фобка
16.06.14
✎
21:10
|
(7) ну, это врядли..
FROM ON JOIN where GROUP BY WITH CUBE или WITH ROLLUP HAVING SELECT DISTINCT ORDER BY TOP |
|||
9
rendez-vous
16.06.14
✎
21:31
|
(8) Так то оно так. Но источник то внешний. Как в этом случае работает платформа?
|
|||
10
фобка
16.06.14
✎
21:37
|
(9) это да..
"Обратите внимание, что фактическое физическое выполнение оператора определяется обработчиком запросов и порядок из этого списка может значительно отличаться." в общем, надо глядеть саму таблицу Выбрать РНОплаты.Период Из ВнешнийИсточникДанных.КонтинентСтрахование30.Таблица.РНОплаты РНОплаты |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |