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
|
関連項目:
|