Spring пакет 5: неверная грамматика SQL [INSERT INTO BATCH_JOB_EXECUTION_PARAMS (JOB_EXECUTION_ID, PARAMETER_NAME, PARAMJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring пакет 5: неверная грамматика SQL [INSERT INTO BATCH_JOB_EXECUTION_PARAMS (JOB_EXECUTION_ID, PARAMETER_NAME, PARAM

Сообщение Anonymous »

Я обновлял наше приложение с jdk 11 до 17 и изменил соответствующие зависимости. После обновления при запуске приложения я вижу следующую ошибку:
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [INSERT INTO BATCH_JOB_EXECUTION_PARAMS(JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, PARAMETER_VALUE, IDENTIFYING)
VALUES (?, ?, ?, ?, ?)
]

Вот код,
в application.yml
spring:
batch:
jdbc:
initialize-schema: always
job:
enabled: false
config:
activate:
on-profile: dev3

datasource:
url: 'jdbc:oracle:thin:@(**********)'
username: ******
password: *******
driver-class-name: oracle.jdbc.OracleDriver


@Configuration
//@EnableBatchProcessing
public class DataLoadJob {

String tmpFileLocation;

@Bean
public Job testJob(Step step1,
JobRepository jobRepository) {
return new JobBuilder("testJob", jobRepository)
.listener(new JobListener())
.start(step1) //
.build();
}

@Bean
public Step step1(JobRepository jobRepository, PlatformTransactionManager transactionManager) {
return new StepBuilder("step1", jobRepository).tasklet(insertInfo(), transactionManager).build();
}
}
----------------------------

@SpringBootApplication(scanBasePackages = {"com.fanniemae.capitalmarkets.cets"})
public class BatchCbdJobApplication implements ApplicationRunner , ExitCodeGenerator {
@Autowired
private Job job;

@Autowired
private JobLauncher jobLauncher;

public static final String MODULE = "module";

private int jobexitCode = 99;

public static void main(String[] args) {
int exitCode = SpringApplication.exit(
new SpringApplicationBuilder()
.listeners(new SecretPropertiesListener())
.properties("spring.config.name:application,queries")
.sources(BatchCbdJobApplication.class)
.web(WebApplicationType.NONE)
.run(args)
);

System.exit(exitCode);
}

@Override
public void run(ApplicationArguments args) throws Exception {

String moduleName = (args.containsOption(MODULE) || args.getOptionValues(MODULE).size() == 1)
? args.getOptionValues(MODULE).get(0) :"testJob" ;

try {
JobParameters jobParameters = new JobParametersBuilder()
.addDate(Constants.DATE_TIME_JOB_PARAM, new Date())
.addString(MODULE, moduleName)
.toJobParameters();

JobExecution execution = jobLauncher.run(job, jobParameters);
} catch (Exception e) {
System.out.println(e.getMessage());
}

//jobexitCode = new SimpleJvmExitCodeMapper().intValue(execution.getExitStatus().getExitCode());

}


Я сослался на эти ссылки и закомментировал аннотацию @EnableBatchProcessing, но по-прежнему вижу ту же ошибку:
Spring-Batch-5.0-Migration-Guide< /p>
Весенний пакет — плохая грамматика SQL
Может быть, мне не хватает какой-либо конфигурации и как это исправить? Пожалуйста, дайте мне знать, если вам нужны какие-либо подробности. Спасибо!

Подробное сообщение об ошибке:
{"requestTime":"11/08/2024T11:28:12.267","@version":"1","message":"Application run failed","logger_name":"org.springframework.boot.SpringApplication","thread_name":"main","level":"ERROR","level_value":40000,"stack_trace":"org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [INSERT INTO BATCH_JOB_EXECUTION_PARAMS(JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, PARAMETER_VALUE, IDENTIFYING)\n\tVALUES (?, ?, ?, ?, ?)\n]
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:112)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116)
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1548)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:677)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:701)
at org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:1101)
at org.springframework.batch.core.repository.dao.JdbcJobExecutionDao.insertJobParameters(JdbcJobExecutionDao.java:431)
at org.springframework.batch.core.repository.dao.JdbcJobExecutionDao.saveJobExecution(JdbcJobExecutionDao.java:251)
at org.springframework.batch.core.repository.support.SimpleJobRepository.createJobExecution(SimpleJobRepository.java:178)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.batch.core.repository.support.AbstractJobRepositoryFactoryBean.lambda$getObject$0(AbstractJobRepositoryFactoryBean.java:204)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220)
at jdk.proxy2.$Proxy113.createJobExecution(Unknown Source)
at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:145)
at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.run(TaskExecutorJobLauncher.java:59)
at com.batch.BatchJobApplication.run(BatchJobApplication.java:61)
at org.springframework.boot.SpringApplication.lambda$callRunner$4(SpringApplication.java:786)
at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:83)
at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60)
at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:88)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:798)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:786)
at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:774)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:774)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:341)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:149)
at com.batch.BatchJobApplication.main(BatchJobApplication.java:42)\r\nCaused by: java.sql.BatchUpdateException: ORA-00904: \"PARAMETER_VALUE\": invalid identifier\n\r\nhttps://docs.oracle.com/error-help/db/ora-00904/
at oracle.jdbc.driver.OraclePreparedStatement.generateBatchUpdateException(OraclePreparedStatement.java:11409)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatchWithoutQueue(OraclePreparedStatement.java:10735)
at oracle.jdbc.driver.OraclePreparedStatement.executeLargeBatch(OraclePreparedStatement.java:10439)
at oracle.jdbc.driver.OracleStatement.executeBatch(OracleStatement.java:5660)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:292)
at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
at org.springframework.jdbc.core.JdbcTemplate.lambda$batchUpdate$4(JdbcTemplate.java:1117)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658)\r\n\t... 42 common frames omitted\r\n","businessSystemName":"Batch__job","appName":"batch__job"}



Подробнее здесь: https://stackoverflow.com/questions/791 ... amsjob-exe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Spring пакет 5: неверная грамматика SQL [INSERT INTO BATCH_JOB_EXECUTION_PARAMS (JOB_EXECUTION_ID, PARAMETER_NAME, PARAM
    Anonymous » » в форуме JAVA
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Обратный вызов подготовленного заявления; плохая грамматика SQL [INSERT INTO BATCH_JOB_EXECUTION_PARAMS(JOB_EXECUTION_ID
    Anonymous » » в форуме JAVA
    0 Ответы
    104 Просмотры
    Последнее сообщение Anonymous
  • Kafka Streams и Spring Batch Conflict – «Необходимо указать имя задания», несмотря на Spring.batch.job.enabled: false
    Anonymous » » в форуме JAVA
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Перенос значений AppIntent @Parameter в новый @Parameter.
    Anonymous » » в форуме IOS
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • Ошибка SQL INSERT INTO с командой Odbc C#
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»