sql >> Databasteknik >  >> RDS >> Oracle

Spring Batch:Kunde inte öka identiteten; kapslat undantag är com.microsoft.sqlserver.jdbc.SQLServerException:Ogiltigt objektnamn 'BATCH_JOB_SEQ'?

Förmodligen är felet relaterat till migreringen från Oracle till Azure SQL Server.

Som du kan se i bibliotekets källkod under huven Spring Batch använder olika strategier när genererar ID:n för jobb, jobbkörningar och stegkörningar .

I Oracle-fallet använder de sekvenser ; med SQL Server implementerade de id-generering med tabeller med en identitetskolumn .

Migreringsprocessen replikerade också de olika Oracle-sekvenserna som krävs av Spring Batch och mycket troligt orsakar det problemet när den tidigare nämnda strategin för generering av SQL Server-id försöker få nästa värde.

Snälla, släpp de migrerade sekvenserna och skapa tre tabeller krävs för SQL Server med lämpliga värden:

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. mySQL-fråga för att summera belopp i kolumner (månader)

  2. summera värdena från Datagridview1(Table1) och spara dem i Datagridview2(Table2) med Linq och MySql

  3. PÅ DUBLIKAT UPPDATERING AV NYCKEL - får integritetsbegränsningsöverträdelse

  4. Hur man installerar phpMyAdmin