Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ошибка СУБД при загрузки xml файла

ошибка СУБД при загрузки xml файла
Я
   zippygrill
 
27.05.19 - 10:25
Всем привет!
xml файл загружается фоновым заданием и выдает ошибку. Если же загрузить его через УОД то все норм.
В файле двоичные данные не присутствуют, его размер 700кб, в настройках sql не лазили (со слов админа) :)
Перегрузить скуль рано

Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Attempting to grow LOB beyond maximum allowed size of 2147483647 bytes.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=10, native=7119, line=1
 
 
   zippygrill
 
1 - 27.05.19 - 10:26
файл прекрасно открывается в редакторе и IE
   ДенисЧ
 
2 - 27.05.19 - 10:30
SQL Express?
   zippygrill
 
3 - 27.05.19 - 10:31
Вряд ли
   zippygrill
 
4 - 27.05.19 - 10:32
(2) точно нет
   zippygrill
 
5 - 27.05.19 - 10:33
Пока я отдыхал в отпуске, действительно пытались грузить xml файл ~3 гб, может в кэше скуля осталось что-то..
   zippygrill
 
6 - 27.05.19 - 11:26
апну
   zippygrill
 
7 - 28.05.19 - 15:05
лечилось перегрузкой скуля
   zippygrill
 
8 - 29.05.19 - 17:03
и снова врасплох застала эта ошибка.
загружаю xml файл размером 1 гб. В нем есть двоичные данные.

Если фоновым заданием загружаю данные то получаю сначала ошибку
{Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(11605)}: Ошибка при вызове метода контекста (Прочитать)
    ФайлОбмена.Прочитать();
по причине:
Ошибка разбора XML:  - [1,1]
Фатальная ошибка:
Extra content at the end of the document
SystemId: file:///srv-s1cm1/ERP_SYNC/UPP_ERPPM/MessageUPP_ERP.xml


Если же непосредственно вручную, через УОД - то уже sql говорит - Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Attempting to grow LOB beyond maximum allowed size of 2147483647 bytes.


Возможно поэтому и скуль не разрешает 

На маленькие файлы - ситуация не повторяется..
   lodger
 
9 - 29.05.19 - 17:11
(8) а скуль говорит что ты в него суешь объект свыше 2 гигов?
   zippygrill
 
10 - 29.05.19 - 17:17
(0) ага
   Сияющий в темноте
 
11 - 29.05.19 - 18:42
Extra контент,это нарушение формата,возможно,что умный парсер смело читает за пределами конца файла,что то там ожидая,вот и переполнение.
   zippygrill
 
12 - 30.05.19 - 11:00
Что удалось выяснить.
Скопировал оригинальный xml который выдает Ошибка разбора XML:  - [1,1], менял кодировку "UTF-8 c BOM" на просто "UTF-8" и файл загрузился без ошибок в фоне.

http://prntscr.com/nva93u
   zippygrill
 
13 - 30.05.19 - 11:37
помимо этого файла обмена на том же файловом ресурсе есть и другие файлы обмена в т.ч. и через УниверсальныйФормат и в них кодировка тоже utf-8 с BOM и они прекрасно загружаются в приемнике

апну тему.
   zippygrill
 
14 - 30.05.19 - 12:52
Эксперимент
Файл лежит по прежнему на сетевом диске

Если выполнить ЧтениеXML на клиенте то все ок
Если на сервере то спотыкается  ФайлОбмена.Прочитать() - почему так..


&НаСервере
Процедура ЧитатьНаСервере()
    ФайлОбмена = Новый ЧтениеXML();
    
    Попытка
        ФайлОбмена.ОткрытьФайл(ИмяФайлаЗагрузкиДанных);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    ФайлОбмена.Прочитать();
КонецПроцедуры
   zippygrill
 
15 - 30.05.19 - 13:46
Вот, самое поганое что если менять имя файла, то файл Прочитается, в противном - выдает Fatal error
https://yadi.sk/i/3BZOt2Ci0L8inw

У кого какие мысли?
   zippygrill
 
16 - 30.05.19 - 16:45
апну
   lodger
 
17 - 30.05.19 - 17:56
(15) у профиля пользователя сервера1с что-то с языками\кодировками?
   zippygrill
 
18 - 30.05.19 - 22:37
сомневаюсь, но перепроверю
   zippygrill
 
19 - 31.05.19 - 13:17
+(15) Возможно причина в формировании данного файла, но выгрузка происходит по всем уже давно известному алгоритму фоновым заданием. Т.е. в ОбъектОБработки.ВыполнитьВыгрузку() уже не вклинишься и тут особо и нечего менять.

        ОбъектОБработки = Обработки.УниверсальныйОбменДаннымиXML.Создать();
        ОбъектОБработки.ИмяФайлаПравилОбмена   =  "\\srv-s1cm1\ERP_SYNC\UPP_ERPPM\UPP_ERP_PM_Rules.xml";
        ОбъектОБработки.ЗагрузитьПравилаОбмена();
        ОбъектОБработки.ИмяФайлаОбмена = ИмяФайлаВыгрузки;
        УстановитьУзелОбменаУСтрокДерева(ОбъектОБработки.ТаблицаПравилВыгрузки.Строки, ВыборкаДетальныеЗаписи.Ссылка);
        ОбъектОБработки.ВыполнитьВыгрузку();
        Если Не ОбъектОбработки.ФлагОшибки Тогда 
            ОбъектОБработки.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки =  1;
            ПланыОбмена.УдалитьРегистрациюИзменений(ВыборкаДетальныеЗаписи.Ссылка);
        КонецЕсли;

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.