XDK, PL/SQL

 
0
 
Oracle
ava
3,14 | 21.12.2004, 17:52
Извиняюсь заранее, возможны неточности в терминологии по стольку по скольку только начинаю этим заниматься

Хочу отобразить XML Schem-у (XSD Файл) в реляцонную модель, для сего использую следующую хранимую процедуру:

CREATE DIRECTORY xml AS 'c:\tmp';

declare
xmlfile BFILE;

BEGIN
xmlfile := BFILENAME( 'XML', 'docbook.xsd' );
dbms_lob.open(xmlfile);
dbms_xmlschema.registerschema
(
schemaurl => 'c:\tmp\docbook.xsd',
schemadoc => xmlfile,
local => true,
gentypes => true,
genbean => false,
gentables => true
);
dbms_lob.close(xmlfile);
END;


Как результат получаю ошибку:
17:53:47 *** SCRIPT START : Session:[email protected](1) 21.12.2004 17:53:47 ***
17:53:47 Start SQL Editor Execution ...
17:53:47 Processing ...
17:54:24 xmlfile BFILE;
17:54:24 *
17:54:24 ORA-03113: принят сигнал конца файла по коммуникационному каналу
17:54:43 *** Script stopped due to error ***
17:54:43 *** SCRIPT END : Session:[email protected](1) 21.12.2004 17:54:43 ***
17:54:43 End SQL Editor Execution

P.S.: для конекта использую SQL Navigator 4.4, фиг знает, вдруг пригодиться
Comments (3)
ava
igon | 21.12.2004, 20:49 #
Это у тебя с сервером, похоже, проблемы
Цитата
...If the message occurs after a connection is well established, and the error is not due to a physical failure, check if a trace file was generated on the server at failure time. Existence of a trace file may suggest an Oracle internal error that requires the assistance of Oracle Support Services.


Твоя структура называется не хранимой процедурой, а анонимным блоком.
Хранимая будет выглядеть примерно так


CREATE OR REPLACE Procedure Test As
xmlfile BFILE;

BEGIN
xmlfile := BFILENAME( 'XML', 'docbook.xsd' );
dbms_lob.open(xmlfile);
/*dbms_xmlschema.registerschema
(
schemaurl => 'c:\tmp\docbook.xsd',
schemadoc => xmlfile,
local => true,
gentypes => true,
genbean => false,
gentables => true
);
*/dbms_lob.close(xmlfile);
END;


У меня эта структура компилируется нормально, правда, из-за отсутствия в 9.01 пакета dbms_xmlschema пришлось добавить комментарии

И еще: в операторе
CREATE DIRECTORY xml AS 'c:\tmp';

лучше писать
CREATE Or Replace DIRECTORY xml AS 'c:\tmp';

иначе при повторном запуске будет ругаться, что имя уже используется


ava
3,14 | 22.12.2004, 11:22 #
А какой из log Файлов надо смотреть? Вроде пробежался по всем, но ничего не нашёл :(
ava
igon | 22.12.2004, 13:06 #
Хе, здесь я, пожалуй, вряд ли смогу помочь - когда у меня такая ошибка возникала, я показывал ее сисадмину и он там чего-то колдовал. Единственное, что могу сказать - трассировка по умолчанию вроде отключена, так как требует дополнительных ресурсов, и включается по мере надобности.

Посмотри файлы с расширениями .log и .trc с датой изменения соответствующей
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  3,14   igon
advanced
Submit