複数 DB に接続した状態で SQLSA を使用した動的 SQL を実行する
2021/11/05
方法
SQLSA を使用した動的 SQL を複数のデータベースに実行するには、使用するトランザクションオブジェクトを PREPARE 文で指定します。
アプリケーションから複数のデータベースに接続するには下記の Tips を参照してください。
【例】ラジオボタン (rb_1) によって、取得するシステム日時の SQL Server 先を変更する(トランザクションオブジェクト「SQLCA」は DB サーバ – 1 に接続、トランザクションオブジェクト「SQLCA2」は DB サーバ – 2 に接続)
datetime ldt_server_date string ls_servername // カーソルを宣言 DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA; IF rb_1.checked THEN ls_servername = "サーバ - 1" // DBサーバ - 1 からシステム日時を取得 PREPARE SQLSA FROM "SELECT GETDATE()" USING SQLCA; ELSE ls_servername = "サーバ - 2" //DBサーバ - 2 からシステム日時を取得 PREPARE SQLSA FROM "SELECT GETDATE()" USING SQLCA2; END IF // カーソルをオープン OPEN DYNAMIC my_cursor; // DB サーバーのシステム日時を取得し ldt_server_date にセット FETCH my_cursor INTO :ldt_server_date; // 取得したシステム日付を表示 MessageBox(ls_servername, String(ldt_server_date))
Tips情報
プロダクト :PowerBuilder
バージョン :2019R3