Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Spring Batch:Không thể tăng danh tính; ngoại lệ lồng nhau là com.microsoft.sqlserver.jdbc.SQLServerException:Tên đối tượng 'BATCH_JOB_SEQ' không hợp lệ?

Có thể lỗi liên quan đến việc di chuyển từ Oracle sang Azure SQL Server.

Như bạn có thể thấy trong mã nguồn của thư viện nâng cao Spring Batch sử dụng các chiến lược khác nhau khi tạo id cho công việc, thực thi công việc và thực hiện bước .

Trong trường hợp Oracle, họ sử dụng trình tự ; với SQL Server, họ đã triển khai tạo id bằng cách sử dụng các bảng có cột nhận dạng .

Quá trình di chuyển cũng sao chép các chuỗi Oracle khác nhau theo yêu cầu của Spring Batch và rất có thể nó đang gây ra sự cố khi chiến lược tạo id SQL Server nói trên cố gắng lấy giá trị tiếp theo.

Vui lòng bỏ các trình tự đã di chuyển và tạo ba bảng bắt buộc đối với SQL Server với các giá trị thích hợp:

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. Tìm và thay thế chuỗi bên trong BLOB for Work hoặc Tệp Excel

  2. Nhóm theo tháng trong Oracle

  3. Ngày kiểm tra PL / SQL là hợp lệ

  4. Chuyển đổi các kết quả đã chọn với Oracle

  5. Hàm SQRT () trong Oracle