У меня возникли проблемы с настройкой Spring на использование таблиц BATCH_ *, размещенных в MySQL. Я создал таблицы в соответствии с документами, однако, похоже, что код пытается получить порядковый номер, используя функцию аромата Oracle.Невозможно настроить SB для использования размещенных в MySQL таблиц BATCH_ * MySQL
Ошибки я получаю: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Неизвестный стол «BATCH_JOB_SEQ» в списке полей
Но это скрывает реальную проблему. Я отладил его и попытался запустить этот код:
select " + getIncrementerName() + ".nextval from dual";
Это, очевидно, диалект Oracle. Я заметил, что существует правильный инкрементор в моей среде здесь: org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer()
но его вызов org.springframework.jdbc.support.incrementer.OracleMaxValueIncrementer()
Я имею установку мой источник данных таким образом:
<bean id="springDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://10.252.205.5:3306/MASKNG" />
<property name="username" value="MASKNG" />
<property name="password" value="maskng" />
</bean>
Кто-нибудь есть идеи, как это шоу пробка для нас атм
пожалуйста, вы можете распечатать эту строку 'System.out.print (выберите«+ getIncrementerName() +».nextval от двойного ";); и показать нам результат? –
Вы _sure_ вы создали таблицы BATCH_ * в соответствии с документацией MySQL здесь? https://github.com/spring-projects/spring-batch/blob/master/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql Это ясно показывает BATCH_JOB_SEQ таблицу в качестве одной из таблиц, а также вставка в нее. –