При вызове процедуры 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>
Спасибо за помощь