sql >> データベース >  >> RDS >> Oracle

Spring Batch:IDをインクリメントできませんでした。ネストされた例外はcom.microsoft.sqlserver.jdbc.SQLServerExceptionです:無効なオブジェクト名'BATCH_JOB_SEQ'?

    おそらく、エラーはOracleからAzureSQLServerへの移行に関連しています。

    ライブラリのソースコード 内部的には、ジョブ、ジョブ実行、およびステップ実行のIDの生成

    Oracleの場合、シーケンス ; SQL Serverでは、ID列のあるテーブル

    移行プロセスでは、Spring Batchに必要なさまざまなOracleシーケンスも複製されており、前述のSQLServerID生成戦略が次の値を取得しようとしたときに問題が発生する可能性が非常に高くなります。

    移行したシーケンスを削除して、3つのテーブル 適切な値を持つSQLServerに必要:

    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. LIKE演算子がMySQLでどのように機能するか

    2. IRIWorkbenchからリモートジョブを実行する方法

    3. MySQLに機密データを保存するための最良の方法は何ですか?

    4. SQLServerのサブクエリを使用してクエリを更新する