Errh: 4602: Dom Parser Operation Failed

  • Автор темы GlooMMy
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

GlooMMy

errh: 4602: DOM parser operation failed

Из-за чего может возникать данная ошибка?
Связано ли это как-нибудь с памятью, версией Lotus (у меня 7.0.2, может в новых версиях этой ошибки нет?)?
Можно как-нибудь обойти данную ошибку?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
лотус может быть не установле, нет схем, агенты по простым действиям не парсятся
 
G

GlooMMy

Тот же самый агент для другой базы работает.
Для оригинала работает, а для реплики нет...
 
G

GlooMMy

Как обойти данную ошибку?
забить на нее и даже если есть ошибка все ровно выводило в результирующий файл
агент:
по образу базы создает xml.
 
G

GlooMMy

Ошибка появляется при выполнении в агенте (lotusscript)
Код:
...
exporter.Process
...
Видимо что-то с БД. С другими базами агент отлично работает.
В чем ошибка, где искать?

скрин переменных Exporter
 
G

GlooMMy

Код:
Sub Initialize	
Dim session As NotesSession
Dim db As NotesDatabase
Dim inputStream As NotesStream, outputStream As NotesStream
Dim docNode As NotesDOMDocumentNode

Dim outputFile As String
outputFile = "c:\dxl\Karts50_dom.xml"

On Error Goto errh

Set session = New NotesSession	
Set db = session.CurrentDatabase

Set outputStream =session.CreateStream
outputStream.Open (outputFile)
outputStream.Truncate

Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(False) 
nc.SelectDocuments=True
Call nc.BuildCollection

Dim exporter As NotesDXLExporter
Set exporter = session.CreateDXLExporter(nc)
exporter.OutputDOCTYPE = False	

Set domParser=session.CreateDOMParser(exporter, outputStream)
domParser.AddXMLDeclNode = True
exporter.Process

Set docNode = domParser.Document	

Call walkTree(docNode)

results:
Call outputStream.Close
Exit Sub
errh:
outputStream.WriteText ("errh: "+Cstr(Err)+": "+Error+LF)
Resume results
End Sub

вывожу все данные из базы в *.xml файл
Выполняется exporter.Process, после выполнения сразу error и переходит на errh. Так что думою не имеет смысла код walkTree выкладывать.
 
N

nvyush

Поломанный документ? Может пройтись по коллекции и экспортнуть каждый док в отдельности?
 
G

GlooMMy

Как проверить поломанный он или нет?
База работает без траблов.
Если каждый док в отдельности то exporter.Process тож прийдется запускать и будет та же проблема. Или нет?
А как отдельно каждый док?
 
N

nvyush

Если каждый док в отдельности то exporter.Process тож прийдется запускать и будет та же проблема. Или нет?
А как отдельно каждый док?
1) Проблема будет на поломанном доке. В обработчике можно будет вывести его UNID
2) session.CreateDXLExporter(doc)
 
O

Omh

В случае ошибки выпечатай DOMParser.Log

Но я так понимаю, ты это дело не обойдёшь, какой-то документ/элемент дизайна сбойнул.
 
G

GlooMMy

Есть прога Lotus Analyzer, вроде бы от ToxaRat
может она поможет ошибку выловить? Какого типа ошибку искать?

Lotus Analyzer выкинул ошибку:
"Field is too large (32k) or view's column & selection formulas are too large"

как определить какое поле, представление или формула?
база большая...

Если ошибка в view, то это связано с ограничениями на ячейку или представление ограничено по размеру?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
GlooMMy
попробуй:
1) сбросить историю репликации
2) потом в space saver вместо 90 дней укажи 0 - без галочки
3) зайди в базу
4) установи в space saver обратно 90 дней

теперь попробуй
 
H

hosm

Replication-History... Кнопка Clear.
Почитай лучше про это в хелпе, может, этот вариант тебе не совсем подходит. Тут Тоха предлагает почистить истории репликации и удалить ВСЕ стабы у реплики.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
OKEN
этот метод я совершенно случайно нашел, так как симптомы этой ошибки мне не позволяли даже работать с Teamstudion Analyzer а сделав этот ряд действий выё вылечивалось, так что я не совсем уверен что это из-за стабов, что-то там еще хранится, и мне кажется что какой-то глючок с индексами видов
 
H

hosm

индексы видов можно убить через домино админ...
 
G

GlooMMy

попробуй:
1) сбросить историю репликации
2) потом в space saver вместо 90 дней укажи 0 - без галочки
3) зайди в базу
4) установи в space saver обратно 90 дней

теперь попробуй

1) сбросил
2) указал 0, галочку не ставил
3) зашел в базу, потыкал по докам, закрыл базу
4) установил 90 дней

запустил lotus analyzer та же ошибка выскакивает... "Field is too large (32k) or view's column & selection formulas are too large"

может я что-то не так сделал? реплику после этого всего может надо было сделать?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!