Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Вниз

Ошибка "Разрушительный сбой"   Найти похожие ветки 

 
galexis ©   (2005-05-31 11:01) [0]

Добрый день!
Спасите кто может! Гружу данные из XML файла в базу FireBird. Для преобразования XML файла в датапакет использую TXMLTransformProvider и TClientDataSet. В Uses прописана MidasLib. Делаю ClientDataSet.Open
После нескольких минут вылетает ошибка "Разрушительный сбой", а иногда не вылетает и загрузка проходит нормально.
Пробовал вместо MidasLib использовать Midas.dll. Ошибка меняется на другую: Access violation in Midas.dll. И так же с попытки 5 загружается нормально. Подскажите в чем дело?
Спасибо.


 
evvcom ©   (2005-05-31 11:18) [1]

"Разрушительный сбой" я встречал, только когда возникает ошибка в COM-сервере. Ты используешь TXMLTransformProvider - это наверняка класс-обертка на COM-сервер. Вероятнее всего, твой XML файл содержит какие-то ошибки, во всяком случае с точки зрения COM-сервера. "Иногда вылетает, а иногда не вылетает" - на одном и том же файле или все же на разных? Если на одном и том же вылетает постоянно, то ищи в нем ошибку.


 
DSKalugin ©   (2005-05-31 11:24) [2]

Напиши парсер, который сделает проверку структуры XML файла. В итоге может быть приспособишь его для закачки данных.
Я себе так и сделал.
Это лучше чем связываться с закрытыми чужими разработками.
в любой момент можно запустить отладку и найти причину глюков.
Не будешь же ты связываться с мокрософтом и просить их выяснить причину. Тем более что они своих пользователей поддержкой не балуют.


 
galexis ©   (2005-05-31 11:29) [3]

На одном и том же вылетает. Других и нет пока. Этот файл выгрузка из другой базы. Мне надо написать ПО для загрузки в свою БД. На самом деле все еще сложнее. Я использую две пары TXMLTransformProvider и TClientDataSet. Открываю одну пару, затем вторую. Если открывать только одну из пар, то все работает хорошо. Т.е. ставлю брекпойнт перед открытием второго клиентдатасета, первый открывается нормально, а при открытии второго вылетает ошибка. А две пары - потомучто видимо TClientDataSet имеет ограничение на количество вложенных в него датасетов и я не могу открыть сразу всю запись из XML Файла, а базу нужно вставлять всю запись!


 
galexis ©   (2005-05-31 11:45) [4]


> DSKalugin ©

Про парсер я уже тоже думал, но времени нет. Данные надо получать как всегда еще вчера. И еще один файл из другой базы висит. А так вроде все просто - открыл - загрузил.
Слежу за памятью в диспетчере задач, как только подходит к 150 Мб, так и вырубается. А уж если перешла предел, то работает.


 
galexis ©   (2005-05-31 12:01) [5]

И XML файл то всего 10 Мб. В перспективе свыше 100 Мб. Видимо такие вообще не загрузить. И зачем этот XML спрашиватеся тогда?


 
DSKalugin ©   (2005-05-31 13:39) [6]

XML - дань моде. Мокрософт пытается навязать свою новую технологию. Типа стандарт формата для обмена информацией меж разными платформами и вэбслужбами. Гемор вобщем очередной :-))

попробуй увеличить у себя объем виртуальной памяти, если он ограничен. А парсер написать таки придется


 
galexis ©   (2005-05-31 15:18) [7]


> DSKalugin ©

У моего компа 1 Гб ОЗУ и столько же виртуальной, куда уж больше :(
Я боюсь дело не в парсере, а в midas. Попробовать бы midas.dll от Delphi 7 или вообще Delphi 8. В борланд что ли пожаловаться :)


 
Rule ©   (2005-05-31 15:22) [8]

galexis ©   (31.05.05 15:18) [7]
В борланд что ли пожаловаться :)

пошлют


 
evvcom ©   (2005-05-31 15:54) [9]


> В борланд что ли пожаловаться

Интересно, на что? На пиратскую копию? Или некачественный кряк? А скорее все же надо искать причины не в корявости сторонних библиотек, которые отлаживаются не первый год, а в своем коде.


 
galexis ©   (2005-05-31 16:00) [10]


> evvcom ©   (31.05.05 15:54) [9]

Пожаловаться на библиотеку midas.dll. Я могу вообще убрать свой код создав новый проект. Все равно будет работать примерно каждый 5-й раз. И Delphi у меня лицензионный, но чужой :)
Я оставил от XML файла 4 Мб. Сейчас проверю влияние размера файла.


 
Rule ©   (2005-05-31 16:03) [11]

galexis ©   (31.05.05 16:00) [10]
на Мидас надо отдельную лицензию ....


 
galexis ©   (2005-05-31 16:09) [12]

> Rule ©   (31.05.05 16:03) [11


С Delphi 6 midas входит в комплект как MidasLib.dcu. Это в Delphi 3 надо было лицензию


 
sniknik ©   (2005-05-31 16:10) [13]

если на midas грешиш то исправь ошибки в нем... (да, и на солнце есть пятна ;о)))

потом, слышал что у него есть проблемы при работе на 2х процессорном компе (сервере), не знаю исправляеться это или нет... не сталкивался.


 
sniknik ©   (2005-05-31 16:10) [14]

нда.
http://www.distribucon.com/midasbug/


 
galexis ©   (2005-05-31 16:38) [15]


> sniknik ©   (31.05.05 16:10) [13]
Я так думаю и гипертрейдинг она не любит. Спасибо за ссылку.


 
galexis ©   (2005-05-31 16:59) [16]


> sniknik ©   (31.05.05 16:10) [14]

Спасибо огромное! Скачал midas.dll (версии 9) от Delphi 2005. Тьфу, тьфу, тьфу, тук, тук, тук! Два раза испытал. Все работает!
Заодно много нового узнал. Ссылка чудо. Спасибо.


 
galexis ©   (2005-05-31 17:03) [17]

Теперь (с новым midas) можно попробовать избавиться от одного клиентдатасета, наверное тоже глюк старого midas ограниченность по вложенным датасетам.


 
Rule ©   (2005-05-31 17:14) [18]

sniknik ©   (31.05.05 16:10) [13]
он то идет в комлпект поставки, вот только платить надо за каждого клиента отельную плату, и ка каждый сервер, который испльзует мидас ... почитай .... поищи ссылки, мне лень искать, но сталкивался с этим


 
galexis ©   (2005-05-31 17:20) [19]


> Rule ©   (31.05.05 17:14) [18]
Мне Midas нужен только для загрузки данных из XML файла. Я не создаю тонких клиентов и серверов-приложений. Грузится и ладненько.


 
Rule ©   (2005-05-31 17:54) [20]

galexis ©   (31.05.05 17:20) [19]
ну в этом случае я думаю не надо, хотя это надо у борландов спрашивать ....



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.07 c
1-1118677570
Earth
2005-06-13 19:46
2005.07.11
Edit - выделение


3-1117193378
highlander
2005-05-27 15:29
2005.07.11
Проблема использования сложных запросов с агрегатами


1-1118681327
Optical
2005-06-13 20:48
2005.07.11
События мыши


1-1119523292
samuel
2005-06-23 14:41
2005.07.11
Как запустить программу как сервис?


1-1118920806
olevacho
2005-06-16 15:20
2005.07.11
невидимое приложение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский