Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Spring Batch:Tidak dapat meningkatkan identitas; pengecualian bersarang adalah com.microsoft.sqlserver.jdbc.SQLServerException:Nama objek tidak valid 'BATCH_JOB_SEQ'?

Mungkin kesalahan terkait dengan migrasi dari Oracle ke Azure SQL Server.

Seperti yang Anda lihat di kode sumber perpustakaan di bawah tenda Spring Batch menggunakan strategi yang berbeda ketika membuat id untuk tugas, eksekusi tugas, dan eksekusi langkah .

Dalam kasus Oracle, mereka menggunakan urutan ; dengan SQL Server, mereka mengimplementasikan pembuatan id menggunakan tabel dengan kolom identitas .

Proses migrasi juga mereplikasi urutan Oracle yang berbeda yang diperlukan oleh Spring Batch dan kemungkinan besar ini menyebabkan masalah ketika strategi pembuatan id SQL Server yang disebutkan di atas mencoba mendapatkan nilai berikutnya.

Tolong, lepaskan urutan yang dimigrasi dan buat tiga tabel diperlukan untuk SQL Server dengan nilai yang sesuai:

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. Bergabung dengan 2 set data melalui persimpangan

  2. Oracle SQL mengelompokkan berdasarkan kolom dengan jumlah tetapi hanya jika kolomnya nol atau 0

  3. ORA-01722:Nomor Tidak Valid, temukan baris tertentu

  4. Ubah Stempel Waktu Unix menjadi Nilai Tanggal di Oracle

  5. Bagaimana cara terhubung ke Oracle di go