Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Wiosenna partia:nie można zwiększyć tożsamości; zagnieżdżony wyjątek to com.microsoft.sqlserver.jdbc.SQLServerException:nieprawidłowa nazwa obiektu „BATCH_JOB_SEQ”?

Prawdopodobnie błąd jest związany z migracją z Oracle do Azure SQL Server.

Jak widać w kod źródłowy biblioteki pod maską Spring Batch używa różnych strategii, gdy generowanie identyfikatorów zadań, wykonywania zadań i wykonywania kroków .

W przypadku Oracle używają sekwencje ; z SQL Server zaimplementowali generowanie identyfikatorów za pomocą tabele z kolumną tożsamości .

Proces migracji replikował również różne sekwencje Oracle wymagane przez Spring Batch i najprawdopodobniej powoduje problem, gdy wspomniana strategia generowania identyfikatorów SQL Server próbuje uzyskać następną wartość.

Usuń przeniesione sekwencje i utwórz trzy tabele wymagane dla SQL Server z odpowiednimi wartościami:

<>CREATE TABLE BATCH_STEP_EXECUTION_SEQ (ID BIGINT IDENTITY(, 1));CREATE TABLE BATCH_JOB_EXECUTION_SEQ (ID BIGINT IDENTITY(, 1));CREATE TABLE BATCH_JOB_SEQ ( ID BIGINT IDENTITY(, 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. Wygeneruj losową datę w Oracle za pomocą DBMS_RANDOM

  2. dyld:leniwe wiązanie symbolu nie powiodło się dla php oic8 na Apple M1

  3. Procedura usuwania tylko wtedy, gdy baza danych jest wyższa niż sysdate

  4. Dlaczego otrzymuję otwartą transakcję, po prostu wybierając widok z bazy danych?

  5. Ropucha obcina/zaokrągla duże liczby Oracle?