ヘッダーをスキップ
Oracle® Data Provider for .NET開発者ガイド
12c リリース1(12.1)
B72971-07
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

ODP.NETを使用した.NETストアド・プロシージャの実行の概要

Oracle Data Provider for .NETクラスとAPIを使用して、.NETクライアント・アプリケーションから、および.NETストアド・プロシージャとファンクションからOracle Databaseのデータにアクセスできます。

ただし、Oracle Data Provider for .NETを.NETストアド・プロシージャ内で使用する場合はいくつかの制限があります。これらの制限を次の項で説明します。

単純な.NETストアド・プロシージャの例を次に示します。

using System;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
 
public class CLRLibrary1
{
  // .NET Stored Function returning the DEPTNO of the employee whose
  // EMPNO is 'empno'
  public static uint GetDeptNo(uint empno)
  {
    uint deptno = 0;
 
    // Create and open a context connection
    OracleConnection conn = new OracleConnection();
    if( OracleConnection.IsAvailable == true )
    {
      conn.ConnectionString = "context connection=true";
    }
    else
    {
      //set connection string for a normal client connection
      conn.ConnectionString = "user id=scott;password=tiger;" +
        "data source=oracle";
    } 
    conn.Open();
 
    // Create and execute a command
    OracleCommand cmd = conn.CreateCommand();
    cmd.CommandText = "SELECT DEPTNO FROM EMP WHERE EMPNO = :1";
    cmd.Parameters.Add(":1",OracleDbType.Int32,empno,
    System.Data.ParameterDirection.Input);
    OracleDataReader rdr = cmd.ExecuteReader();
    if (rdr.Read())
      deptno = (uint)rdr.GetInt32(0);
    rdr.Close();
    cmd.Dispose();
    conn.Close();
    return deptno;
  } // GetDeptNo
} // CLRLibrary1 

関連項目: