Использование "oracle.xdb.XMLType" в Java - PullRequest
0 голосов
/ 18 июня 2019

Мы должны передать XMLTYPE в качестве входных параметров в хранимую процедуру Oracle из Java.

Мы конвертируем XML-файл в XMLTYPE, используя XMLType (connection, inXml).После выполнения строки № 5 элемент управления переходит на строку № 12, а строки № 6 на строку № 8 пропускаются.Здесь нет исключений.Мы не знаем точно, что делает XMLType (connection, inXml) внутри.

После строки № 5 она пропускает оставшуюся строку, и управление переходит к строке № 12, и даже исключение не вызывается.

Мы вручную проверяем ноль в строке № 12 и генерируем исключение.

Может ли кто-нибудь помочь нам определить, в чем заключается проблема с этим кодом?

Мы используем ниже версию java и db,

Java: 7

БД: Oracle Database 12cВыпуск Enterprise Edition 12.1.0.2.0 - 64-разрядная версия

Jar для XMLTYPE: xdb6.jar и xmlparserv2-12.1.0.2.jar

Тип подключения JDBC: тонкий

нижеэто пример кода,

1 XMLType xmlFileInXmlType = null;
2 File xmlFile = new File("D:\\filePath\\ALP.xml");
3 FileInputStream inXml = new FileInputStream(xmlFile);
4 try {
    5 xmlFileInXmlType = new XMLType(connection, inXml);   
    6 CallableStatement cs = connection.prepareCall(call XXXX.XXXX(?));
    7 cs.setObject(1, xmlFileInXmlType);
    8 cs.execute();
9 }catch(Exception e) {
    10 throw e;
11 }finally {
    12 if(xmlFileInXmlType == null) {
        13 throw new Exception("XML File cannot able to convert into XML Object");
    14 }
15 }
...