Call store procedure from c#

Páginas: 24 (5816 palabras) Publicado: 2 de diciembre de 2014
Invocación de procedimientos
almacenados de Oracle de Microsoft.NET
Introducción
Este artículo pretende ilustrar cómo ilustrar cómo llamar a procedimientos
almacenados de Oracle y las funciones de Microsoft.NET a través del proveedor de
Oracle Microsoft.NET y su modelo de objetos que residen en la
System.Data.OracleClient espacio de nombres. Voy a cubrir varios escenarios posibles
conejemplos avanzados.
La ejecución de un procedimiento almacenado
Comencemos con las definiciones. Un procedimiento es un módulo que realiza una o
más acciones. Una función es un módulo que devuelve un valor y diferencia de los
procedimientos de una llamada a una función sólo puede existir como parte de un
archivo ejecutable como un elemento en una expresión o el valor asignado por defecto
en unadeclaración de una variable.
El primer ejemplo ilustra cómo llamar a un procedimiento de Oracle paso de
parámetros de entrada y recuperar el valor de los parámetros de salida. Para todos los
ejemplos, vamos a utilizar la base de datos ORCL por defecto que viene con la
instalación de bases de datos Oracle. El siguiente código en el Listado 1 muestra cómo
crear un procedimiento llamadocount_emp_by_dept que recibe como parámetro de
entrada el número de departamento y la envía como parámetro de salida el número de
empleados en este departamento.
create or replace procedure count_emp_by_dept(pin_deptno number,
pout_count out number)
is
begin
select count(*) into pout_count
from scott.emp
where deptno=pin_deptno;
end count_emp_by_dept;

Ficha 1: Crear el procedimientocount_emp_by_dept.
Ahora vamos a crear una aplicación de consola y agregue una referencia a la
System.Data.OracleClient.dll asamblea para su proyecto.
El código de este ejemplo se ilustra en el Listado 2. La primera cosa a hacer es
importar la clase del objeto que resida en el System.Data.OracleClient espacio de
nombres con la directiva using. A continuación, debe configurar los parámetros yfinalmente llamar al procedimiento mediante el método ExecuteNonQuery del objeto
OracleCommand.Using System;
using
using
using
using

System.Collections.Generic;
System.Text;
System.Data.OracleClient;
System.Data;

namespace CallingOracleStoredProc
{
class Program
{
static void Main(string[] args)
{
using (OracleConnection objConn = new OracleConnection("Data
Source=ORCL; UserID=scott; Password=tiger"))
{
OracleCommand objCmd = new OracleCommand();
objCmd.Connection = objConn;
objCmd.CommandText = "count_emp_by_dept";
objCmd.CommandType = CommandType.StoredProcedure;
objCmd.Parameters.Add("pin_deptno", OracleType.Number).Value = 20;
objCmd.Parameters.Add("pout_count", OracleType.Number).Direction
=ParameterDirection.Output;
try
{
objConn.Open();objCmd.ExecuteNonQuery();
System.Console.WriteLine("Number of employees in department 20 is
{0}", objCmd.Parameters["pout_count"].Value);
}
catch (Exception ex)
{
System.Console.WriteLine("Exception: {0}",ex.ToString());
}
objConn.Close();
}
}

}

}

Ficha 2: El código de la aplicación llamar al procedimiento almacenado.
Executing a function
Como función es similar a los procedimientos excepto enque devuelven un valor,
tenemos que establecer un parámetro de retorno. Veamos el ejemplo.
El siguiente código en el Listado 3 muestra cómo crear una función llamada
get_count_emp_by_dept que recibe como parámetro de entrada el número de
departamento y devuelve el número de empleados en este departamento. Es muy
similar al procedimiento anterior en el apartado anterior.
create or replacefunction get_count_emp_by_dept(pin_deptno number)
return number
is
var_count number;
begin
select count(*) into var_count
from scott.emp

where deptno=pin_deptno;
return var_count;
end get_count_emp_by_dept;
Ficha 3: Creación de una función de Oracle.
Ahora vamos a ver en el Listado 4 del código de la aplicación que llama a la función.
Como puedes ver, tenemos que definir un parámetro...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • stored procedures
  • Buenas practicas en construccion de stored procedures
  • Rpc (remote procedure call)
  • SQL
  • Práctica stored procedures y triggers en sql server 2005
  • stored procedures
  • Store Procedures y Triggers
  • Triggers y store procedure

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS