情報を 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.