martes, 23 de septiembre de 2008

Jobs, Oracle y .NET

Hola,

A modo introductorio de un post posterior a este voy a contaros como lanzar un job en Oracle desde un código .NET gracias al SP que se nos proporciona DBMS_JOB.submit

En su forma más básica sería algo parecido a esto:

Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(connString);

Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand();

Oracle.DataAccess.Client.OracleParameter paramID = new Oracle.DataAccess.Client.OracleParameter();

Oracle.DataAccess.Client.OracleParameter paramOpID = new Oracle.DataAccess.Client.OracleParameter();

Oracle.DataAccess.Client.OracleParameter paramOpWhat = new Oracle.DataAccess.Client.OracleParameter();

cmd.Connection = conn;

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.CommandText = "DBMS_JOB.submit";

paramOpID.ParameterName = "id";

paramOpID.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal;

paramOpID.Direction = System.Data.ParameterDirection.Output;

cmd.Parameters.Add(paramOpID);

paramOpWhat.ParameterName = "What";

paramOpWhat.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2;

paramOpWhat.Direction = System.Data.ParameterDirection.Input;

paramOpWhat.Value = @jobName;

cmd.Parameters.Add(paramOpWhat);

conn.Open();

cmd.ExecuteNonQuery();

return paramOpID.Value.ToString();

Este SP tiene muchos otros parámetros que recomiendo que veáis en la siguiente web: http://www.psoug.org/reference/dbms_job.html

Salu2

No hay comentarios: