sql >> Database teknologi >  >> RDS >> Oracle

Spring Batch:Kunne ikke øge identiteten; indlejret undtagelse er com.microsoft.sqlserver.jdbc.SQLServerException:Ugyldigt objektnavn 'BATCH_JOB_SEQ'?

Sandsynligvis er fejlen relateret til migreringen fra Oracle til Azure SQL Server.

Som du kan se i bibliotekets kildekode under hætten Spring Batch bruger forskellige strategier, når generering af id'erne for job, jobudførelser og trinudførelser .

I Oracle-sagen bruger de sekvenser ; med SQL Server implementerede de id-generering ved hjælp af tabeller med en identitetskolonne .

Migreringsprocessen replikerede også de forskellige Oracle-sekvenser, der kræves af Spring Batch, og det er meget sandsynligt, at det forårsager problemet, når den førnævnte SQL Server-id-genereringsstrategi forsøger at opnå den næste værdi.

Slip venligst de migrerede sekvenser og opret tre tabeller kræves til SQL Server med de relevante værdier:

CREATE TABLE BATCH_STEP_EXECUTION_SEQ (
  ID BIGINT IDENTITY(<last analogous Oracle sequence value>, 1)
);

CREATE TABLE BATCH_JOB_EXECUTION_SEQ (
  ID BIGINT IDENTITY(<last analogous Oracle sequence value>, 1)
);

CREATE TABLE BATCH_JOB_SEQ (
  ID BIGINT IDENTITY(<last analogous Oracle sequence value>, 1)
);



  1. Returner resultater af en sql-forespørgsel som JSON i oracle 12c

  2. Kombiner værdier af to rækker til én

  3. Fatal fejl:Kald til en medlemsfunktion fetch_array() på boolean

  4. Er der en måde at se en mysql-database for ændringer ved hjælp af perl?