powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибка при использовании xmlparse
10 сообщений из 10, страница 1 из 1
Ошибка при использовании xmlparse
    #38478894
Добрый день.
Версия:Adaptive Server Enterprise/15.7.0/EBF 19496

Возникла необходимость загружать и парсить xml файлы.
При создании тестового примера сразу же наткнулся на непонятную проблему при практически копипаст из BOL.

Что делал:

Запустил следующий селект для
Код: sql
1.
2.
3.
4.
5.
6.
select xmlextract
('/',
xmlparse(
'<row>
<stat>0</stat>
</row>'))


успешно отработал


Поместил указанный xml код в файл - приложен

Создал прокси таблицу на каталог с данным xml файлом
Код: sql
1.
2.
3.
create proxy_table xmlxfsTab external directory
at "D:\Temp;R" 
select filename from xmlxfsTab f



Поместил туда файл test.xml - приложен, в котором сохранен след. код
Код: xml
1.
2.
3.
<row>
<stat>0</stat>
</row>



Тестовый селект
Код: sql
1.
select * from xmlxfsTab


успешно отработал


Пытаюсь получить
Код: sql
1.
select xmlextract('/',content) from xmlxfsTab


получаю ошибку
Number (14702) Severity (16) State (0) Server (S) XMLPARSE(): XML parser fatal error <<Invalid document structure>> at line 1, offset 1

Помогите разобраться в чем дело, т.к. по сути xml документ один.
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38479062
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ASE не сильно знаком, но смею предположить, дело в основах XML. То что вы положили в файл - не XML документ. Текст, похожий на XML но не валидный XML докумет.
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38479161
То же самое с другими XML файлами (корректными).

По сути применяется xmlextract к image полю.
В первом случае, как я понял, ее значение получаем через xmlparse.
Во втором через прокси таблицу на файлы, которая в поле content тоже типа image помещает файл.
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38479197
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Комбинатор,
а пробовали добавит?
Код: plaintext
1.
<?xml version="1.0" encoding="UTF-8"?>
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38479361
Да. Пробовал грузить "правильный" файл с кодировкой - а именно стандартный, выгруженный из MSDAX.
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38479379
Проблема действительно в кодировке. Буду разбираться.
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38479396
Разобрался. Фактическая кодировка файла не совпадала с тем что указана в заголовке.
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38480483
Проблему идентифицировал, но как решить так и не понял.

Итого у меня есть файл xml в заголовке которого указана кодировка UTF-8, но сам файл сохранен в windows-1251.
Поменять возможности нет.

При работе через прокси таблицу с файлом данные в поле content типа image таблицы преобразуются согласно заголовку xml, т.е.
в utf-8. Т.к. по факту файл не в unicode то функции работы с xml генерят ошибку, о чем впринципе и говориться в доке sybase ase.

Подскажите как проще загнать указанный файл в ASE через встроенные инструменты, чтобы с ним работать (к примеру загрузить в таблицу в поле image вручную)?
Есть ли вариант на поверхности или смотреть в сторону java функций в ASE?
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38480590
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КомбинаторПроблему идентифицировал, но как решить так и не понял.

Итого у меня есть файл xml в заголовке которого указана кодировка UTF-8, но сам файл сохранен в windows-1251.
Поменять возможности нет.Поменять - возможность есть всегда.
Это и будет лучшим решением.
...
Рейтинг: 0 / 0
Ошибка при использовании xmlparse
    #38480720
Файлы из внешней системы такие какие есть. Будут падать периодически регулярно в папку.
Вариант их перекодировать постфактум и только потом с ними работать из ASE.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибка при использовании xmlparse
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]