Oracle
 sql >> база данни >  >> RDS >> Oracle

Пролетна партида:Не може да се увеличи самоличността; вложеното изключение е com.microsoft.sqlserver.jdbc.SQLServerException:Невалидно име на обект „BATCH_JOB_SEQ“?

Вероятно грешката е свързана с миграцията от Oracle към Azure SQL Server.

Както можете да видите в изходен код на библиотеката под капака Spring Batch използва различни стратегии, когато генериране на идентификатори за задания, изпълнение на задание и изпълнение на стъпки .

В случая с Oracle те използват последователности ; с SQL Server те внедриха генериране на id с помощта на таблици с колона за самоличност .

Процесът на миграция също репликира различните последователности на Oracle, изисквани от Spring Batch, и много вероятно той причинява проблема, когато гореспоменатата стратегия за генериране на идентификатор на SQL Server се опитва да получи следващата стойност.

Моля, пуснете мигрираните последователности и създайте три таблици изисква се за SQL Server със съответните стойности:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между NVARCHAR в Oracle и SQL Server?

  2. Как да разбера дали база данни на Oracle е настроена за автоматично завършване?

  3. datanucleus + jpa + оракул. Странна грешка с несъществуващи таблици

  4. Как да получа информация за собственик на индекс и таблица в Oracle?

  5. Как да анализирате ефективно json в Oracle 18c?