機械翻訳について

レシピをインストールする前に

Oracle Integrationから正常に接続し、メッセージを再順序付けするには、Oracle Autonomous Transaction Processingの特定の構成タスクを完了する必要があります。

接続を作成するための前提条件タスクを完了します。 Oracle Integration 3でのOracle Autonomous Transaction Processingアダプタの使用接続を作成するための前提条件を参照してください。

また、レシピではデータベース表を使用して入力メッセージを格納するため、Oracle Autonomous Transaction Processingに次のデータベース表を作成する必要があります。

  1. 次のコマンドを使用して、表RSQ_CONFIGを作成します。
    (
      TYPE         VARCHAR2(40 BYTE) NOT NULL,
      MAXCONCUR    NUMBER NOT NULL,
      TIMEWINDOW   NUMBER NOT NULL,
      CREATIONTIME TIMESTAMP(3) NOT NULL,
      UPDATETIME   TIMESTAMP(3) NOT NULL,
      CONSTRAINT RSQ_CONFIG_PK PRIMARY KEY
      (
        TYPE
      )
    );
  2. 次のコマンドを使用して、表RSQ_GROUPを作成します。
    (
      ID           VARCHAR2(40 BYTE) NOT NULL,
      TYPE         VARCHAR2(40 BYTE) NOT NULL,
      STATUS       VARCHAR2(10 BYTE) NOT NULL,
      CREATIONTIME TIMESTAMP(3) NOT NULL,
      STATUSTIME   TIMESTAMP(3) NOT NULL,
      CONSTRAINT RSQ_GROUP_PK PRIMARY KEY
      (
        ID,
        TYPE
      )
    );
  3. 次のコマンドを使用して、表RSQ_MESSAGEを作成します。
    (
      ID           VARCHAR2(40 BYTE) NOT NULL,
      GRP_ID       VARCHAR2(40 BYTE) NOT NULL,
      GRP_TYPE     VARCHAR2(40 BYTE) NOT NULL,
      SEQ_ID       NUMBER NOT NULL,
      STATUS       VARCHAR2(20 BYTE) NOT NULL,
      CREATIONTIME TIMESTAMP(3) NOT NULL,
      STATUSTIME   TIMESTAMP(3) NOT NULL,
      PAYLOAD  CLOB NOT NULL,
      CONSTRAINT RSQ_MESSAGE_PK PRIMARY KEY
      (
        ID,
        GRP_ID,
        GRP_TYPE
      )
    );
  4. プロシージャPROC_RSQ_CONFIGを作成または置換します。
    (
        GTYPE IN VARCHAR2,
        MAXCONCUR IN NUMBER,
        TIMEWINDOW IN NUMBER
        )

    CC番号として

    BEGIN
        SELECT COUNT(*) INTO CC FROM RSQ_CONFIG WHERE TYPE=GTYPE;
        IF (CC = 0) THEN
            INSERT INTO RSQ_CONFIG VALUES (GTYPE, MAXCONCUR, TIMEWINDOW, SYSDATE, SYSDATE);
        END IF;
    END PROC_RSQ_CONFIG;
  5. プロシージャPROC_RSQ_GROUPを作成または置換します。
    (
        GRP_ID IN VARCHAR2,
        GRP_TYPE IN VARCHAR2
        )

    as

    GC番号;

    GS VARCHAR2(10)

    BEGIN
        SELECT COUNT(*) INTO GC FROM RSQ_GROUP WHERE ID=GRP_ID AND TYPE=GRP_TYPE;
        IF (GC = 0) THEN
            INSERT INTO RSQ_GROUP VALUES (GRP_ID, GRP_TYPE, 'N', SYSDATE, SYSDATE);  
        ELSE
            SELECT STATUS INTO GS FROM RSQ_GROUP WHERE ID=GRP_ID AND TYPE=GRP_TYPE;
            IF (GS = 'C') THEN
                UPDATE RSQ_GROUP SET STATUS='N' WHERE ID=GRP_ID AND TYPE=GRP_TYPE;
            END IF;
        END IF;
    END PROC_RSQ_GROUP;
  6. プロシージャPROC_RSQ_GROUP_DONEを作成または置換します。
    (
        GID IN VARCHAR2,
        GTYPE IN VARCHAR2
        )

    as

    MC番号;

    GS VARCHAR2(10);

    BEGIN
        SELECT COUNT(*) INTO MC FROM RSQ_MESSAGE WHERE GRP_ID=GID AND GRP_TYPE=GTYPE;
        IF (MC = 0) THEN
            UPDATE RSQ_GROUP SET STATUS='C', STATUSTIME=SYSDATE WHERE ID=GID AND TYPE=GTYPE;
        ELSE
            UPDATE RSQ_GROUP SET STATUS='N', STATUSTIME=SYSDATE WHERE ID=GID AND TYPE=GTYPE;
        END IF;
    END PROC_RSQ_GROUP_DONE;