ベストアンサー 実行中のプロシージャを中断 2008/06/20 11:42 実行中のプロシージャを中断する方法ですが、 セッションを切るとかしかないのでしょうか。 みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー k_o_r_o_c_h_a_n ベストアンサー率55% (526/942) 2008/06/20 14:18 回答No.1 ALTER文で、KILL SESSIONするのが一般的な方法かと思いますよ。 質問者 お礼 2008/06/23 16:34 やはりそれが一般的なんですね。 ありがとうございました。 通報する ありがとう 0 カテゴリ [技術者向] コンピューターデータベースOracle 関連するQ&A プロシージャの実行 ストアドプロシージャを実行させようと、プロシージャに実行権限を付与しました。(grant execute ・・・) その後実行しようとすると、 オブジェクト aaa_proc、データベース bbb、所有者 ccc について EXECUTE パーミッションが拒否されました とエラーになります。 aaa_proc は プロシージャ名。 bbbは プロシージャを書くときに use bbb と書いてるデータベースの名前。 cccは ユーザ名としてください。 他に何の権限を与えてやればいいのか、どなたかか教えてください。 宜しくおねがいします。 ASPの実行中にJavaScriptプロシージャを呼び出すには?? 通常JavaScriptのプロシージャは、 各タグのonchangeなどのイベントで呼び出せますが、 ASPの処理実行中にプロシージャを呼び出すことは可能でしょうか?? 可能でしたらその方法を教えてください。 よろしくお願いします。 CheckBoxのCheckedChangeプロシージャを実行したい VB.NET、WindowsXPなのですが、 CheckBox1_CheckedChangedのプロシージャーを コードで実行するようにしたいのですが、 そのようなことはできるでしょうか? (チェックの状態を変更しなくて実行したい) CheckedChangedプロシージャに CheckBox1Changed() を書いておいて中身を外の Sub CheckBox1Changed() ・・・ End Sub のプロシージャに書くという方法を思いついたのですが、 チェックボックスが沢山あるので、出来ればそのようなことを しなくてもできるのであれば、その方法でやりたいです。 よろしくお願いいたします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム .NETからストアドプロシージャを実行 VB.Netからストアドプロシージャを実行するプログラムの書き方がよく分かりません。 データベースはOracleです。 PROCEDURE test(aaa IN number, bbb IN varvhar2, ccc IN OUT varchar2); といったPL/SQLをVB.NET上で実行するとします。 (略:データベースへの接続処理) strSql = "begin test(10, 'テスト', '');end;" 結果「式が割り当てられていません」とエラーが出ます。 すべての引数がINのプロシージャでは、上記の方法で実行できたので、IN OUTへの引数の渡し方に問題があると思うのですが、どうしても分かりません。 まだ使い始めたばかりで、どうしていいかまったく分からない状態です。 どうかご指導お願い致します。 エクセルからアクセスのプロシージャーを実行させるには? エクセルの標準モジュールには→エクセル側のプロシージャー アクセスの標準モジュールには→アクセス側のプロシージャー と言う名前のプロシージャーが作成されています。 これをどちらもエクセル側で実行させることは出来ないでしょうか? 「アクセス側のプロシージャー」ではアクセス側の処理が実行されます。 でもできればエクセル側のコマンドボタンを一回押すだけで エクセルとアクセスの両方の処理を実行させたいです。 エクセルの標準モジュールには Sub エクセル側のプロシージャー() Call アクセス側のプロシージャー End Sub これを実行すると コンパイルエラーになります。 どうすれば一度で二つのアプリケーションのプロシージャーを実行させることが可能でしょうか? よろしくお願い致します。 ファイルごしでプロシージャーを実行したい アクセスで PW1.accdb PW2.accdb の二つのファイルがあり、どちらも起動してるのですが PW1からPW2のtestというプロシージャーをPW1内で実行することは可能ですか? 参照設定などをすれば可能でしょうか? それともPW2のプロシージャーを使いたいのならば、 PW2のtestというプロシージャーをコピーして、PW1.accdbのモジュールにはり付けるべきでしょうか? C#でプロシージャを実行 C#でoracleのストアドプロシージャを実行するには どのようにしたらいいのでしょうか? ADOを使用する予定です。 Excel 2003 VBAにてマクロの実行中にESCキーにて中断されないようにしたい Excel 2003 にてマクロの実行中にESCキーを押されるとコードの実行が中断されるのを抑制したいのですができません。 シートに直接テキストボックスコントロールを貼り付けています。 そのテキストボックスにKeyDownイベントプロシージャを記述しています。 テキストボックスにIMEの全角文字を入力中(未確定状態)の時に、ESCキーを押すとコードの実行を中断しましたというダイアログが出てしまいます。 KeyDownイベントプロシージャの内容の有無にかかわらず(処理は無記入でも)、ESCキーを押すとダイアログが表示されてしまいますので、ESCキーを押してもダイアログが表示されず処理が中断されない方法はありませんでしょうか。 調べましたところ、 Application.EnableCancelKey = xlDisabled にてESCキーを無効にする事ができるそうなのですが、BOOKを開いた時のイベントにて 上記コードを記載しているのですが、抑制はできません。 何かしら別の方法で対応などはできないものなのでしょうか。 よろしくご教示をお願い申し上げます。 「実行中」と「中断」の違いは何ですか? IEがフリーズするのでタスクマネージャーで見てみたら「中断」となっているのがあるのですが 「実行中」と「中断」の違いは何ですか? エクセルからアクセスのプロシージャーを実行する エクセルからアクセスのプロシージャーを実行する方法を教えてください。 アクセスファイル名→ファイル1.accdb プロシージャー名→test1 なのですが、 エクセルで Sub ACCESSのプロシージャーを実行する() Dim OBJ As Object Set OBJ = GetObject("C:\Users\Desktop\ファイル1.accdb") OBJ.Application.Run OBJ.Name & "!test1" Set OBJ = Nothing End Sub としたら、 実行時エラー 2517 ’Microsoft Access!test1’プロシージャーが見つかりません。 になります。 test1は、アクセスの標準モジュール内に記載しています。 モジュール名も指定しないとだめなのでしょうか? その場合のコードの書き方がわからないので教授ください。 該当のアクセスファイルは既に起動しているときもあるし、してない時もあります。 アクセスからエクセルのプロシージャーを実行させたい オフィス2007です。 ////////////////////////////////////////////////////////// ‘Excel側の標準モジュール ////////////////////////////////////////////////////////// Sub Excelのプロシージャー() MsgBox "Excelです" End Sub ////////////////////////////////////////////////////////// ‘Access側の標準モジュール ////////////////////////////////////////////////////////// Sub Accessのプロシージャー() Dim xlsWB As Object Dim MyFileName As String MyFileName = "D:\Accessからプロシージャーの実行テスト用ファイル.xlsm" Set xlsWB = GetObject(MyFileName) xlsWB.Application.Run xlsWB.Name & "!Excelのプロシージャー" Set xlsWB = Nothing End Sub の状態で、アクセス側から Accessのプロシージャー実行すると、 ////////////////////////////////////////////////////////// マクロ'Accessからプロシージャーの実行テスト用ファイル.xlsm!Excelのプロシージャー' を実行できません。 このブックでマクロが使用できないか、 またはすべてのマクロが無効になっている可能性があります。 ////////////////////////////////////////////////////////// となります。 エクセル側は、「すべてのマクロを有効にする」にしているし、エクセルファイルを単独で開き、 Excelのプロシージャーを実行すると問題なく動きます。 同じ条件で、2003で検証すると問題なく動きます。(拡張子は適宜変えてます) エクセルのパスが間違ってるのかな?と思い、適当なパスに変えたところ、 「オートメーション操作中にファイル名またはクラス名を見つけられませんでした。(Error 432)」 というエラーがでたので、パスは合ってます。 原因がわかる方、ご回答よろしくお願いします。 ストアドプロシージャの実行 こんばんは。 C#のアプリケーションからストアドプロシージャの実行を検討 しています。ストアドプロシージャでは複数テーブルを更新する バッチシステムです。 このケースでは、C#側ではエラーをどこまでハンドリングするのが 良いでしょうか?。 「成功と失敗の戻り値だけ」か、それとも「ORA-」のようなエラーまで全てハンドリングすべきか迷っていまして・・。 ご意見お願いします。 PL/SQLプロシージャの実行方法 shスクリプトからplsql ID/PASSWORD@SID @plsql.sql コマンドにてplsql.sqlファイルに記述したPROCEDUREを実行しようと すると、 プロシージャが作成されました。 SQL> となって入力待ちとなり、実行されません。 ごく基本的な質問かもしれませんが、 どうやったらPROCEDUREを実行できるのでしょうか。 プロシージャが実行されたかの有無の判断 Sub test() ・・・・・ IF ・・・・ then Call マクロ1 End If ・・・・・ ・・・・・ If testと言う名のプロシージャーの中でマクロ1と言うプロシージャーが実行されたなら Then MsgBox "マクロ1は実行されました" End If End Sub ということを実行したいのですがどうすればいいのでしょうか? マクロ1の実行条件自体が複雑でIf ~Thenの中に書ききれないので 実行の有無を値で返したりすることは不可能でしょうか? よろしくお願い致します。 FTP転送中断について 以下の手順でFTP転送を中断した場合に、直ぐに転送が中断が中断されなくて(セッションがクローズされない)困っています。直ぐに中断できる方法を知っている方、教えてください。 [1]8台のクライアントから同時にFTP転送を要求する。 [2]8台分の転送中に4台でFTPクライアントをSIGKILLで強制終了させる。 [3][2]の直後に4台のFTPクライアントから[1]とは別のデータ転送を要求する。 このときに、2台分のFTPクライアントでNotConnectedとなってしまいます。理由は、SIGKILLでFTPセッションをクローズしようとしたが、クローズしきれずに、8本のセッション+4本のセッションを同時接続しようとして、FTPライセンス数オーバー(8+4>10)により、接続できないようです。 また、調査の結果、SIGKILL時に別クライアントの転送処理が実行されている場合、その転送が完了するまで、SIGKILLをサーバー側で検知してくれません。別クライアントの転送処理が全く実行されていない場合は、SIGKILL直後にサーバー側で即座に転送中断&セッションクローズをしてくれます。 データ転送の有無に因らず、FPTクライアントの転送中断を即座に確実に実行する方法がありましたら教えてください。 とにかくやりたいことは、「8本転送中に、4本を直ぐ止めて、直ぐに別の4本のデータを転送したい」です。 <環境> FTPサーバー(WindowsPC×1台):WindowsXPのIISのFTP *IISのFTPサーバーは最大10本の同時接続が可能。 FTPクライアント(LINUXPC×8台):LINUXのFTPクライアント SQL-Server 6.5でストアドプロシージャの実行 EXECUTE procedure 'para1','para2' で正しい結果が返ってくるストプロがあります。 これをSELECT文の中で結果を返すようにするには どんな書き方をすれば良いのでしょうか? ストアドプロシージャを作成したのは今回が初めてで 試行錯誤しながらなんとか結果が返せるようになった のですが、私がISQLで試した方法ではうまく行きません。 <私の試した方法> SELECT procedure(tabe1.para1,tabe1.para2) FROM table1 SELECT文でストプロを実行することはできないのでしょうか? 宜しくお願いします。 ストアドプロシージャの実行で... Test_Pro、というストアドプロシージャを実行させたいんですが、 Microsoft OLE DB Provider for SQL Server エラー '80040e14' ストアド プロシージャ 'Test_Pro' が見つかりませんでした。 というエラーが出てしまいます。どうして??? 実行させる為に書いたソースは、 set cmd = Server.CreateObject("ADODB.command") Set cmd.ActiveConnection = conn cmd.CommandText = "Test_Pro" cmd.CommandType = 4 Set rs = cmd.Execute("@a", a) です。 プロシージャの実行方法 テキストファイル(test.txt)から文字列を一行ずつ読み込んでDBMS_OUTPUTで表示を最後の行まで繰り返すプロシージャを作りたいのですが、プロシージャ制作までは出来るのですがプロシージャの実行が出来ません。 原因が理解できないのですが返答をお願いします。 create or replace procedure TXT_R as FH UTL_FILE.FILE_TYPE; V_LINE VARCHAR2(32767); BEGIN FH := UTL_FILE.FOPEN('DATA_PUMP_DIR','test.txt','R'); LOOP UTL_FILE.GET_LINE(FH,V_LINE); DBMS_OUTPUT.PUT_LINE(V_LINE); END LOOP; EXCEPTION WHEN NO_DATA_FOUND THEN UTL_FILE.FCLOSE(FH); END TXT_R; ここまでプロシージャです。 そしてネットで調べた結果引数が無い時は書かなくていいと書かれていたのですが、 exec TXT_R; で実行すると ORA-00900: SQL文が無効です。 となってしまいます。 プロシージャが大きすぎます! Excel2000のVBAでフィルターオプションの連続操作をマクロで作成しているのですが、60回以上フィルターオプションを実行できるように記述したのですが、 長すぎてしまい、マクロを実行すると 「プロシージャが大きすぎます」と表示され実行できなくなります。ヘルプやHPを参考にして調べてみると、プロシージャを短くすればよいことはわかったのですが、SUBでプロシージャを短くし、その後、そのSUBで区切ったものを連続実行するためにはどのようにすればよいのでしょうか? VBAを勉強したばかりで、見当違いの質問かもしれませんが、補足いたしますので、よろしくお願いいたします。 ストアドプロシージャを実行時のパラメータについて はじめましてkou2000と申します。SQLServer2000でストアドプロシージャを作成していますがうまくいきません。 下記のようなことが実際にできるかご教授ください。 CREATE PROCEDURE TEST_PROCEDURE @SYUBETU nvarchar AS SELECT AAAAAAA INTO ##TMP FROM TEST WHERE BBBB IN (@SYUBETU) GO 上記のようなストアドプロシージャを作成しプログラムから実行する際に @SYUBETU = "'1','2','3','4','5'" のような可変の文字列を設定しストアドプロシージャを実行できますでしょうか? よろしくお願いします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 タイヤ交換 アプローチしすぎ? コロナの予防接種の回数 日本が世界に誇れるものは富士山だけ? AT車 Pレンジとサイドブレーキ更にフットブレーキ 奢りたくありませんがそうもいかないのでしょうか 臨月の妻がいるのに… 電車の乗り換え おすすめのかっこいい曲教えてください! カテゴリ [技術者向] コンピューター データベース SQL ServerOraclePostgreSQLMySQLNoSQLその他(データベース) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
やはりそれが一般的なんですね。 ありがとうございました。