前のトピック: 出力パラメータ次のトピック: データベースから選択オペレータ


ストアド プロシージャの実行

データベースに対してストアド プロシージャを実行するには、[データベースのクエリ]オペレータを使用します。

ここでの例では、CA Process Automation のインストール中に提供される SQL Server ドライバを使用します。 別のデータベースに対してプロセスを実行するには、[環境設定]タブ上の[ユーザ リソースの管理]パレットから該当する JDBC ドライバをアップロードします。 オーケストレータ サービスを再起動すると、CA Process Automation はドライバにアクセスできます。 注: 詳細については、「コンテンツ管理者ガイド」を参照してください。

この例は、PAMReporting データベース内の SQL Server Management Studio に複製できます。 PAMReporting は、インストール中に CA Process Automation レポート テーブルに対して提供されるデータベース名です。 別の名前を使用することもできます。 また、任意のデータベースを使用することができます。

以下の手順に従います。

  1. 以下の内容を含むストアド プロシージャを作成します。
    USE PAMReporting
    GO
    -- ================================================
    -- Template generated from Template Explorer using:
    -- Create Procedure (New Menu).SQL
    --
    -- Use the Specify Values for Template Parameters 
    -- command (Ctrl-Shift-M) to fill in the parameter 
    -- values below.
    --
    -- This block of comments will not be included in
    -- the definition of the procedure.
    -- ================================================
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE sp_getSOAPRows 
           -- Add the parameters for the stored procedure here
    AS
    BEGIN
           -- SET NOCOUNT ON added to prevent extra result sets from
           -- interfering with SELECT statements.
           -- SET NOCOUNT ON;
    
        -- Insert statements for procedure here
              select count(*) from SOAPClientCall;
    END
    GO  
    
  2. このプロシージャでは、SOAPClientCall としてコールされたテーブル内の行の数を返します。
  3. SQL Server Management Studio で[解析]をクリックします。
  4. SQL Server Management Studio で[実行]をクリックします。

    CA Process Automation は、PAMReporting データベース内に新しいストアド プロシージャを保存します。

  5. [データベースのクエリ]オペレータを持つプロセスを作成し、その後、オペレータ用のインライン テキストに以下の行を入力します。
    EXECUTE sp_getSOAPRows
    
  6. データベース サーバ ログイン パラメータに、CA Process Automation がデータベースと通信するために必要な情報を入力します。
  7. プロセスを保存します。
  8. プロセスを実行します。
  9. オペレータ データセットを開きます。

    プロセスの結果、プロシージャが返す行の数が表示されます。

    注: 結果は、SOAPClientCall テーブルの行の数によって異なります。