PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
473 99/01/11 05:20:16 RE(1):助けて下さい By Taka
472 99/01/08 17:25:36 助けて下さい By Oさん

カテゴリ:その他
日付:1999年01月11日 05:20 発信者:Taka
題名:RE(1):助けて下さい

Oさん はじめまして。Takaです。

>今日初めて、参加させて頂きます。うまく行かなくて、ハマってる事がありますので、知ってる方教えて下さい。
>Oracle7.3を使ってます。
>ALTER SYSTEM KILL SESSIONコマンドをアプリケーション内で発行する方法です。
>データウィンドウにシステムテーブルの\"sys.v_$session\"を割り付けて、そこから、sidとserを取得して実現したい
>のです。スクリプト内では、ALTER SYSTEM?コマンドは埋め込めないし、PREPAREとEXECUTEでもうまくいかないので
>す。何方か良い知恵を貸して下さい!!

CREATE xxx や ALTER xxx などのDML文は、たいてい動的SQL・構文1を使います。

string sql
sql = \"ALTER SYSTEM KILL SESSION \'\" + String(sid#) + \",\" + String(ser#) + \"\'\"
EXECUTE IMMEDIATE :sql USING SQLCA ;
if SQLCA.SQLCode = 0 then
 *** OK ***
else
 *** エラー処理 ***
end if

※ USING SQLCA は省略可能です。
  (トランザクションにSQLCA以外の変数を使っている時はその変数を指定)
※ ALTER SYSTEM コマンドは、DBA権限を持つユーザーでログインしていないとダメです。
  (V$SESSIONにアクセスしているので問題ないと思いますが)

P.S.
このような技術的なハナシは、ここよりも「ユーザーズガイド」に投げたほうが良いですね。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.