org.springframework.jdbc.BadSqlGrammarException: ReadyStatementCallback; плохая грамматика SQL [INSERT INTO BATCH_JOB_EXECUTION_PARAMS(JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, PARAMETER_VALUE, IDENTIFYING)
ЗНАЧЕНИЯ (?, ?, ?, ?, ?)
]
Вот код,
в 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());
}
Spring-Batch-5.0-Migration-Guide< /p>
Весенний пакет — плохая грамматика SQL
Может быть, мне не хватает какой-либо конфигурации и как это исправить? Пожалуйста, дайте мне знать, если вам нужны какие-либо подробности. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/791 ... amsjob-exe