カーソルの SELECT 文で定義した情報を XML ファイルとして保存します。
構文:
>>-EXEC SQL--.------------.--->
+-AT db_name-+
>--PERSIST cursor_name TO xml_destination--->
>-----END-EXEC-----<>
パラメーター:
AT db_name |
DECLARE DATABASE を使用して宣言されたデータベースの名前。この句は必須ではありません。省略すると、DECLARE CURSOR 文に関連付けられている接続に自動的に切り替わります (その接続が現在の接続とは異なる場合。DECLARE CURSOR 文の実行中のみ有効)。 |
cursor_name |
すでに宣言済みの、開いたカーソル。 |
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.