Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2011, 14:36
borosilva
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Invocación de procedimientos almacenados en C#

Estimados,

Necesito de su gran ayuda. Alguno me puede dar una ayuda para poder invocar un PA de una base de datos DB2 desde C#.

Lo que tengo hasta ahora es lo siguiente :

DB2Connection conn = new DB2Connection();

Código:
string cadenaConexion = string.Concat("Server=", server, ";Database=", database, ";UID=", user, ";PWD=", pass, ";");
        conn.ConnectionString = cadenaConexion;
        conn.Open();

        DB2Transaction trans = conn.BeginTransaction();
        DB2Command cmd = conn.CreateCommand();
        String procName = "SP_EJEMPLO";
        cmd.Transaction = trans;
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = procName;

        // Registro de los parámetros de entrada-salida y parámetros de salida para DB2Command
        cmd.Parameters.Add( new DB2Parameter("@param1", "Value1"));
        //DB2Parameter param2 = new DB2Parameter("@param2", IBM.Data.DB2Types.DB2String.Null);
        //param2.Direction = ParameterDirection.Output;
        //cmd.Parameters.Add( param2 );

        // Invocar el procedimiento almacenado
        Console.WriteLine("Call stored procedure named " + procName);
        cmd.ExecuteNonQuery();
Esto al ejecutarlo en un WebService me devuelve un error

ERROR [42884] [IBM][DB2/NT64] SQL0440N No se ha encontrado ninguna rutina autorizada denominada "SP_EJEMPLO" de tipo "PROCEDURE" que tenga argumentos compatibles.

Si tienen una forma mejor de hacer esto, se los agradecería.