Проблемы с MyBatis в тесте JUnit - PullRequest
0 голосов
/ 25 марта 2019

При вызове процедуры pl sql в JUnit Test с myBatis Mapper.xml я получаю

12: 15: 25.015 [main] ОШИБКА MyClass - org.springframework.jdbc.UncategorizedSQLException:

Ошибка запроса базы данных. Причина: java.sql.SQLException: ORA-20210: MyPackage.MyProcedure. ExceptionDocumentProblem: MyError.

ORA-06512: в "MySchema.MyPackage", Zeile 1689

ORA-06512: в "MySchema.MyPackage", Zeile 1705

ORA-06512: в Зейле 1

Ошибка может существовать в de /… / MyMapper.xml

Ошибка может включать defaultParameterMap

Произошла ошибка при настройке параметров

SQL: {? = вызвать MySchema.myFunction (pContentText =>?)}

Причина: java.sql.SQLException: ORA-20210: MySchema.myFunction. ExceptionDocumentProblem: MyError.

ORA-06512: в "MySchema.MyPackage", Zeile 1689

ORA-06512: в «MySchema.MyPackage», Zeile 1705

ORA-06512: в Цайле 1

Странно то, что в производстве все работает нормально. Я проверил, нет ли различий между параметрами в рабочей среде, с помощью которой вызывается метод Java в Mapper.xml.

Я использую ojdbc.jar. Конфигурация для JUnit выглядит так:

     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >

        <property name="driverClassName" value="oracle.jdbc.OracleDriver"/>

        <property name="url" value="jdbc:oracle:thin:@host:port/DB"/>


        <property name="username" value="myUser"/>

        <property name="password" value="*****"/>

    </bean>

Вызываемый маппер выглядит так:

    <select id="theId" statementType="CALLABLE">
        {
        #{resultMap.documentId, mode=OUT, javaType=java.lang.Long,
        jdbcType=NUMERIC} = call
        MyPackage.MyProcedure(pContentText
        => #{doc, mode=IN,
        jdbcType=CLOB,
        typeHandler=org.apache.ibatis.type.ClobTypeHandler})
        }
    </select>

Спасибо за помощь

...