PERSIST

情報を XML に変換できるようにするために、OpenESQL には PERSIST 文が追加されており、これによりカーソル SELECT 文で定義された情報を XML ファイルとして保存できます。

構文:

>>-EXEC SQL--PERSIST cursor_name TO xml_destination->
>-----END-EXEC-----<>

パラメーター:

cursor_name 以前宣言され開いたカーソル。
xml_destination ここで、xml_destination には、一重または二重の引用符で囲んだ、識別子、ホスト変数、またはリテラルが当てはまります。

説明:

PERSIST を使用するには、以下を行う必要があります。
  • XML ODBC ドライバーをインストールする
  • SET SCROLLOPTION 文を埋め込み、STATIC に設定する

Data Direct Connect ODBC ドライバーを使用する場合は、バージョン 3.70 以降を使用する必要があります。

例:

 01  hv  pic x(50).
 procedure-division.

    *> set whenever clause to handle sql errors
    exec sql whenever sqlerror goto sql-error end-exec
    exec sql whenever sqlwarning perform sql-warning end-exec

    *> connect to data source
    exec sql connect to "data source"  end-exec

    *> declare static cursor with column info you want to save to xml file
    exec sql
      declare c static cursor for 
        select * from emp
    end-exec

    *> open cursor
    exec sql open c end-exec 

    *> save data to xml file using double quoted literal
    exec sql 
      persist c to "c:\XML Files\xmltest1.xml" 
    end-exec 

    *> save data to xml file using single quoted literal
    exec sql 
      persist c to 'c:\XML Files\xmltest2.xml'
    end-exec

    *> save data to xml file using a host variable
    move "c:\XML Files\xmltest3.xml" to hv 
    exec sql
      persist c to :hv 
    end-exec 

    *> close the cursor
    exec sql close c end-exec

    *> disconnect from datasource
    exec sql disconnect current end-exec

    goback.