Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выгрузка данных в XML / 11 сообщений из 11, страница 1 из 1
03.06.2016, 08:20
    #39249723
Бакыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
Здравствуйте, поздравляю всех с выходом 5.1

задача сформировал XML
Код: plsql
1.
2.
3.
4.
SELECT XMLELEMENT("DATE", SYSDATE)
                        
                         as "RESULT"
   FROM DUal


Код: plsql
1.
<DATE>2016-06-03</DATE>



как мне его сохранить ввиде XML файла ?
...
Рейтинг: 0 / 0
03.06.2016, 10:39
    #39249852
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
Бакыт,
ты как всегда немногословен.
select запросы н имеют отношения к сохранению результатов в файлы или ещё куда либо.
...
Рейтинг: 0 / 0
03.06.2016, 11:16
    #39249911
Vladml
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
...
Рейтинг: 0 / 0
03.06.2016, 12:07
    #39249984
Бакыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
VladmlБакыт,

http://www.liberidu.com/blog/2015/09/29/saving-xml-documents-from-an-oracle-database/
спасибо,
вот этот работает
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
SQL> CREATE OR REPLACE directory utldata AS 'C:\temp';
 
Directory created.
 
SQL> DECLARE                                                                                                                
  2    doc  DBMS_XMLDOM.DOMDocument;                                                                                        
  3    xdata  XMLTYPE;                                                                                                      
  4                                                                                                                         
  5    CURSOR xmlcur IS                                                                                                     
  6    SELECT xmlelement("Employee",XMLAttributes('http://www.w3.org/2001/XMLSchema' AS "xmlns:xsi",                        
  7                                  'http://www.oracle.com/Employee.xsd' AS "xsi:nonamespaceSchemaLocation")               
  8                              ,xmlelement("EmployeeNumber",e.empno)                                                      
  9                              ,xmlelement("EmployeeName",e.ename)                                                        
 10                              ,xmlelement("Department",xmlelement("DepartmentName",d.dname)                              
 11                                                      ,xmlelement("Location",d.loc)                                      
 12                                         )                                                                               
 13                   )                                                                                                     
 14     FROM   emp e                                                                                                        
 15     ,      dept d                                                                                                       
 16     WHERE  e.DEPTNO=d.DEPTNO;                                                                                           
 17                                                                                                                         
 18  BEGIN                                                                                                                  
 19    OPEN xmlcur;                                                                                                         
 20    FETCH xmlcur INTO xdata;                                                                                             
 21    CLOSE xmlcur;                                                                                                        
 22    doc := DBMS_XMLDOM.NewDOMDocument(xdata);                                                                            
 23    DBMS_XMLDOM.WRITETOFILE(doc, 'UTLDATA/marco.xml');                                                                   
 24  END;                                                                                                                   
 25  /                                                                                                                       
 
PL/SQL PROCEDURE successfully completed.



classic report тоже генерит XML оказывается
...
Рейтинг: 0 / 0
03.06.2016, 12:50
    #39250038
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
Бакыт
Код: plsql
1.
WRITETOFILE(doc, 'UTLDATA/marco.xml');


а потом что с ним? Если отдавать клиенту, то можно же сразу без промежуточного в файл.
Нагрузки будет меньше.
...
Рейтинг: 0 / 0
03.06.2016, 13:04
    #39250057
Бакыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
сервису прямой доступ запрещен , я буду выгружать файл , они потом там будут обрабатывать
теперь вопрос
этот запрос возвращает 14 строк ,а выгружаемом файле только 1 запись
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT xmlelement("Employee",XMLAttributes('http://www.w3.org/2001/XMLSchema' AS "xmlns:xsi",                        
  7                                  'http://www.oracle.com/Employee.xsd' AS "xsi:nonamespaceSchemaLocation")               
  8                              ,xmlelement("EmployeeNumber",e.empno)                                                      
  9                              ,xmlelement("EmployeeName",e.ename)                                                        
 10                              ,xmlelement("Department",xmlelement("DepartmentName",d.dname)                              
 11                                                      ,xmlelement("Location",d.loc)                                      
 12                                         )                                                                               
 13                   )                                                                                                     
 14     FROM   emp e                                                                                                        
 15     ,      dept d                                                                                                       
 16     WHERE  e.DEPTNO=d.DEPTNO; 
...
Рейтинг: 0 / 0
03.06.2016, 13:07
    #39250061
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
Бакытсервису прямой доступ запрещен , я буду выгружать файл , они потом там будут обрабатывать
куда запрещён? В апексе запрещён? Можно же XML как запрос получить в рантайме прямо в апекс. Без перекладки в файлы.
Бакытэтот запрос возвращает 14 строк ,а выгружаемом файле только 1 запись
дай пример. Если про конец строки-символ. То XML формат и должен быть одной строкой.
...
Рейтинг: 0 / 0
03.06.2016, 13:14
    #39250065
Бакыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
Petro123,

есть система (кредитное бюро) куда автоматически данные можно загрузить с помощью XML файла

из моей системы я должен сформировать XML файл , далее уже обработка XML файла (испорт, итд)

я вот так формирую (результат в приложенном файле)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
DECLARE                                                                                                                
      doc  DBMS_XMLDOM.DOMDocument;                                                                                        
      xdata  XMLTYPE;                                                                                                      
                                                                                                                           
      CURSOR xmlcur IS                                                                                                     
      SELECT xmlelement("Employee",XMLAttributes('http://www.w3.org/2001/XMLSchema' AS "xmlns:xsi",                        
                                    'http://www.oracle.com/Employee.xsd' AS "xsi:nonamespaceSchemaLocation")               
                                ,xmlelement("EmployeeNumber",e.empno)                                                      
                                ,xmlelement("EmployeeName",e.ename)                                                        
                               ,xmlelement("Department",xmlelement("DepartmentName",d.dname)                              
                                                       ,xmlelement("Location",d.loc)                                      
                                          )                                                                               
                    )                                                                                                     
      FROM   emp e                                                                                                        
      ,        dept d                                                                                                       
      WHERE  e.DEPTNO=d.DEPTNO;                                                                                           
                                                                                                                          
   BEGIN                                                                                                                  
     OPEN xmlcur;                                                                                                         
     FETCH xmlcur INTO xdata;                                                                                             
     CLOSE xmlcur;                                                                                                        
     doc := DBMS_XMLDOM.NewDOMDocument(xdata);                                                                            
     DBMS_XMLDOM.WRITETOFILE(doc, 'UTLDATA/marco.xml');                                                                   
   END;                                                                                                                   
     
...
Рейтинг: 0 / 0
03.06.2016, 13:36
    #39250084
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
Бакытесть система (кредитное бюро) куда автоматически данные можно загрузить с помощью XML файла
из моей системы я должен сформировать XML файл , далее уже обработка XML файла (испорт, итд)
тогда понятно.
У тебя работа с внешней ИС, в которую тебе нельзя и там всё решено.
ОК.
..
про конец строки сказал выше.
...
Рейтинг: 0 / 0
03.06.2016, 13:39
    #39250091
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
Бакыт,
спец символы LF конца строки и пробелы у тебя только увеличивают размер. Парсеру XML они не нужны и вредны.
Договаривайся с теми кому нужен XML.
Удачи!
...
Рейтинг: 0 / 0
03.06.2016, 13:40
    #39250094
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в XML
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выгрузка данных в XML / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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