У меня есть таблица, в которой содержится около одной тысячи записей, а один из столбцов имеет тип CLOB данных, который теперь мне нужно преобразовать в XMLType из-за некоторых других причин. Как преобразовать столбец из CLOB в XMLType? БлагодаряЧтобы изменить тип столбца столбца из clob в xmltype
2
A
ответ
0
Вы можете попытаться сделать это следующим образом:
- Добавить столбец, имеющий тип данных как тип XML в таблице.
- Скопируйте данные столбца clob в недавно добавленный столбец xmltype.
- Оставьте столб clob.
- Переименуйте столбец xmltype в имя исходного столбца.
Что-то вроде этого:
alter table yourtable
add (temp_col xmltype);
update yourtable
set temp_col = xmltype.createxml(clobCol);
alter table yourtable
drop column clobCol;
alter table yourtable
rename column temp_col to clobCol;
0
Вы можете сделать что-то вроде этого с помощью пакета DBMS_XMLPARSER:
-- Variables used for parsing the XML document
xml_ CLOB := 'X';
p DBMS_XMLPARSER.parser;
doc_ DBMS_XMLDOM.DOMDocument;
node_list_ DBMS_XMLDOM.DOMNodeList;
node_len_ NUMBER;
-- Convert the CLOB into a XML-document enter code here
P := DBMS_XMLPARSER.newparser();
-- Parse the clob and get the XML-document
DBMS_XMLPARSER.parseclob(p, xml_);
-- Note that the document is parsed in local CSID even thought the xml contains UTF8, strange but it seems to work
doc_ := DBMS_XMLPARSER.getDocument(p);
--- Bug 114812 SPM Start
node_list_ := DBMS_XMLDOM.getElementsByTagName(doc_, 'NODETOEXTRACT');
node_len_ := DBMS_XMLDOM.getLength(node_list_);
ПРИМЕЧАНИЕ: - переменная xml_ должно содержать сообщение в формате CLOB, чтобы разобрать его. Если XML в BLOB вы можете использовать этот метод для преобразования в CLOB
-- Convert the BLOB-message into a CLOB
DBMS_LOB.converttoclob(dest_lob => xml_,
src_blob => message_value_,
amount => dbms_lob.lobmaxsize,
dest_offset => l_dest_offsset_,
src_offset => l_src_offsset_,
blob_csid => 871, -- 871 is UTF8
lang_context => l_lang_context_,
warning => l_warning_);
Смежные вопросы
- 1. Изменить ограничение столбца clob
- 2. Ошибка при преобразовании XML из столбца CLOB в столбец XMLType
- 3. Oracle изменить тип столбца с CLOB на NCLOB
- 4. изменить тип данных столбца
- 5. Изменить тип столбца в таблице
- 6. Изменить тип столбца в sqlite3
- 7. изменить тип столбца в представлении?
- 8. Изменение параметра хранилища для столбца XMLType в Oracle 11g
- 9. SQLite - изменить тип столбца таблицы?
- 10. как изменить тип столбца Autonumber
- 11. Запрос столбца CLOB, содержащего XML-сообщение
- 12. Entity Framework изменить тип столбца
- 13. Изменить ширину столбца столбца столбца столбца столбца столбца столбца/MonoDevelop?
- 14. Тип столбца столбца в представлении
- 15. Как изменить тип данных столбца в DataTable
- 16. Как изменить тип столбца столбца в представлении postgresql
- 17. изменить тип столбца на double в mysql
- 18. Изменить тип данных столбца в MonetDB
- 19. Изменить тип столбца на DataGridViewCheckBoxColumn в C#
- 20. Liquibase: изменить тип столбца в Java
- 21. Изменить тип столбца базы данных в десятичной
- 22. Как изменить тип данных столбца в рельсах?
- 23. Изменить тип данных столбца в piglatin
- 24. Значение запроса из столбца XMLtype в базе данных оракула
- 25. Как изменить тип столбца в Heroku?
- 26. Обновление столбца clob в oracle с значением CLOB
- 27. Изменить тип данных столбца на последовательный
- 28. Как изменить тип имени столбца в Cassandra?
- 29. Невозможно изменить тип данных столбца в Postgres
- 30. Как изменить тип данных столбца в sybaseIQ
Когда я копирую данные из столбца CLOB в XmlType колонку, то она дает неопределенный тип данных error..update yourtable набор temp_col = clobCol; ..с этот запрос .. –
Я получаю эту ошибку с xmltype.create (clobcol) ... Сообщение об ошибке - Ошибка SQL: ORA-31011: XML парсинг не удалось ORA-19202: произошла ошибка при обработке XML LPX-00216: недопустимый символ 7 (0x7) Ошибка в строке 3 ORA-06512: в строке «SYS.XMLTYPE», строка 5 31011. 00000 - «XML parsi ng failed " * Причина: XML-парсер возвратил ошибку при попытке проанализировать документ. * Действие: Проверьте, является ли документ, подлежащий анализу, действительным. –
Похоже, что одна или несколько записей не являются хорошо сформированным XML. Проверить с помощью внешнего XML-редактора –