Имя: Пароль:
1C
 
Запрос к внешней БД
0 1ctube
 
09.09.20
08:20
Доброго времени суток. Из 1С выполняю запрос к внешней БД на скуле, условие к полю с типом nvarchar(12).
Если передаю из 1С значение 111111111111 отрабатывает без проблем, но если в начале стоит 0, т.е. 011111111111, получаю ошибку "
Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Ошибка арифметического переполнения при преобразовании nvarchar к типу данных numeric."

У кого возникала такая ошибка? Как исправляли? Связано ли это с тем что диапозон у numeric от 1 до 15?
1 Ёпрст
 
гуру
09.09.20
08:26
одна из черепашек врёт..
если у тебя поле nvarchar оно никак не будет кастоватьсяк нумерик
2 1ctube
 
09.09.20
08:28
(1) Тоже об этом сейчас подумал. Но интересно что при передаче 111111111111 отрабатывает без ошибки, а вот при передаче 011111111111 появляется ошибка
3 ДенисЧ
 
09.09.20
09:12
А щачем так изврашаться?
Тем более, что форма записи 01111 во многих языках - это восьмеричная форма, как 0x111 - шестнадцатиричная...
Программист всегда исправляет последнюю ошибку.