|   |   | 
| 
 | Запрос вылетает с ошибкой | ☑ | ||
|---|---|---|---|---|
| 0
    
        vse_serjezno 05.10.15✎ 12:18 | 
        День добрый.
 Платформа 8.2 Собственно, ошибка следующая - запускаю в консоли пакетный запрос, на 9-м пакете он вылетает с ошибкой СУБД. Все предыдущие пакеты поочередно запустила, проверила, что выполняются. Сам 9-й состоит из соединения 3-х временных таблиц из предыдущих проверенных пакетов запросов, и одного вложенного запроса, который я отдельно запустила и так же проверила, что работает. Вместе это все выдает ошибку: Ошибка при выполнении запроса POST к ресурсу /e1cib/cmi/command/0:b768d4c7-648d-4777-b5e6-cfa6d0bb6691: по причине: Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: String or binary data would be truncated. HRESULT=80040E57, SQLSrvr: SQLSTATE=22001, state=D, Severity=10, native=8152, line=1 Подскажите, пожалуйста, с чем это может быть связано? Если кто-то сталкивался с подобной проблемой, как справлялись? | |||
| 1
    
        Fragster гуру 05.10.15✎ 12:19 | 
        зеленый!     | |||
| 2
    
        vse_serjezno 05.10.15✎ 12:29 | 
        Я была бы рада более конструктивному ответу.     | |||
| 3
    
        Buster007 05.10.15✎ 12:30 | 
        String or binary data would be truncated
 можно в гугле перевести | |||
| 4
    
        Steini 05.10.15✎ 12:31 | 
        вангую: в соединении участвуют строки или т.п.?     | |||
| 5
    
        Fragster гуру 05.10.15✎ 12:33 | 
        (2) текст запроса мы должны придумать?     | |||
| 6
    
        vhl 05.10.15✎ 12:38 | 
        (5) 9 пакетов? Нет спасибо :)     | |||
| 7
    
        Nuobu 05.10.15✎ 12:39 | ||||
| 8
    
        vse_serjezno 05.10.15✎ 12:48 | 
        (4) 3 соединение по ссылке номенклатуры и одно по строке, но там поле типа строка длинной не больше 36 символов.     | |||
| 9
    
        vse_serjezno 05.10.15✎ 12:49 | 
        На небольшом объеме данных запрос работает... О_о     | |||
| 10
    
        vse_serjezno 05.10.15✎ 12:57 | 
        (7) к сожалению, способ не сработал.     | |||
| 11
    
        Тoлько_ Просмотр 05.10.15✎ 13:02 | 
        (10) Точно? То есть строка в ВТ получается в результате ВЫРАЗИТЬ, потом индексирование по этой колонке и всё равно не работает?     | |||
| 12
    
        vse_serjezno 05.10.15✎ 13:08 | 
        (11) дело в том, что ошибка возникает даже если я убираю эту таблицу и связь из этого пакета запроса.     | |||
| 13
    
        vse_serjezno 05.10.15✎ 13:11 | 
        Условие связи:
 ИЗ втДанныеПоДокументу_Предыдущие КАК ДанныеПоДокументу_Предыдущие ЛЕВОЕ СОЕДИНЕНИЕ втСтатьи КАК Статьи ПО ДанныеПоДокументу_Предыдущие.UID = Статьи.UID ЛЕВОЕ СОЕДИНЕНИЕ втНГруппы КАК НГруппы ПО ДанныеПоДокументу_Предыдущие.Номенклатура.НоменклатурнаяГруппа = НГруппы.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗапросОбъединение.НоменклатураИсключение КАК НоменклатураИсключение ИЗ (ВЫБРАТЬ Номенклатура.Ссылка КАК НоменклатураИсключение ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ИсключенияИзГрупп.НоменклатураИсключение КАК НоменклатураИсключение ИЗ РегистрСведений.ИсключенияИзГрупп КАК ИсключенияИзГрупп ГДЕ ИсключенияИзГрупп.НоменклатураИсключение.ЭтоГруппа) И Номенклатура.ПГод <> 2013 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ИсключенияИзГрупп.НоменклатураИсключение ИЗ РегистрСведений.ИсключенияИзГрупп КАК ИсключенияИзГрупп) КАК ЗапросОбъединение СГРУППИРОВАТЬ ПО ЗапросОбъединение.НоменклатураИсключение) КАК ТаблицаИсключений ПО ДанныеПоДокументу_Предыдущие.Номенклатура = ТаблицаИсключений.НоменклатураИсключение ЛЕВОЕ СОЕДИНЕНИЕ СводНГ_Реверс КАК СводНГ_Реверс ПО ДанныеПоДокументу_Предыдущие.Номенклатура = СводНГ_Реверс.Ссылка | |||
| 14
    
        Тoлько_ Просмотр 05.10.15✎ 13:16 | 
        (13) Ого, ну во-первых, вот так
 "ПО ДанныеПоДокументу_Предыдущие.Номенклатура.НоменклатурнаяГруппа = НГруппы.Номенклатура" негоже делать. Сделай лучше отдельную колонку НоменклатурнаяГруппа, проиндексируй её и по ней соединяй. Во-вторых, вот это: (ВЫБРАТЬ ЗапросОбъединение.НоменклатураИсключение КАК НоменклатураИсключение ИЗ (ВЫБРАТЬ Номенклатура.Ссылка КАК НоменклатураИсключение ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ИсключенияИзГрупп.НоменклатураИсключение КАК НоменклатураИсключение ИЗ РегистрСведений.ИсключенияИзГрупп КАК ИсключенияИзГрупп ГДЕ ИсключенияИзГрупп.НоменклатураИсключение.ЭтоГруппа) И Номенклатура.ПГод <> 2013 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ИсключенияИзГрупп.НоменклатураИсключение ИЗ РегистрСведений.ИсключенияИзГрупп КАК ИсключенияИзГрупп) КАК ЗапросОбъединение СГРУППИРОВАТЬ ПО ЗапросОбъединение.НоменклатураИсключение) КАК ТаблицаИсключений помести сначала в отдельную временную таблицу. Дальше по результатам. | |||
| 15
    
        maximus77 05.10.15✎ 13:26 | 
        Проблема в том, что у вас в таблице размер поля меньше, чем данные, которые вы пытаетесь туда вставить. Не видя запроса сказать где это может быть невозможно.     | |||
| 16
    
        vse_serjezno 05.10.15✎ 14:59 | 
        ПРоблема возникает при помещении результата во временную таблицу... Если убрать из текста запроса 
 "Поместить в ВТ" и вывести результат, то результат выводится.. | |||
| 17
    
        maximus77 05.10.15✎ 15:04 | 
        Что такое "Поместить в ВТ" это СОЗДАНИЕ виртуальной таблицы с определенными полями на сервере SQL. Просто Select НЕ СОЗДАЕТ таблицу, а выводит данные поэтому и нет ошибки.     | |||
| 18
    
        hhhh 05.10.15✎ 15:06 | 
        НоменклатураИсключение какого типа?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |