|
Este es el procedimiento al que invoco en la funcion
El espec : CREATE OR REPLACE PACKAGE pck_controlasis_cons AS TYPE t_cursor IS REF CURSOR;
procedure sp_consulta_reljserv( vo_cursorout out t_cursor ); END pck_controlasis_cons;
EL cuerpo del procedimiento PROCEDURE sp_consulta_reljserv (vo_cursorout OUT t_cursor) IS v_cursor t_cursor; BEGIN OPEN v_cursor FOR SELECT DISTINCT rs.reljcod, r.reljdes, rs.codtra, t.nombre FROM reloj_serv rs, vw_trab_actual t, reloj_asist r WHERE rs.codtra = t.codtra AND r.reljcod = rs.reljcod AND t.estado = '1' ORDER BY rs.reljcod, rs.codtra; vo_cursorout := v_cursor; END sp_consulta_reljserv;
Mi funcion para ejecutar el procedimiento Public Overloads Function EjecutarComandRS(ByVal strSP As String) As OracleDataReader Dim reader As OracleDataReader Dim cn As OracleConnection = Conectar() Dim cmdOra As New OracleCommand cn.Open() cmdOra.Connection = cn cmdOra.CommandText = strSP cmdOra.CommandType = CommandType.StoredProcedure cmdOra.Parameters.Add(New OracleParameter("v_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output
Try reader = cmdOra.ExecuteReader
Catch ex As OracleException MsgBox(ex.Message, MsgBoxStyle.Critical, "Error") Finally cn.Close() End Try
Return reader End Function
Asi invoco a la funcion : drRelojes = cData.EjecutarComandRS("pck_controlasis_cons.sp_consulta_relojes")
El error que indica es :
ORA-06550: LINE 1, COLUMN 7 PLS-00306 : WRONG NUMBER OR TYPES OF ARGUMENTS IN CALL TO "SP_CONSULTA_RELOJES" ORA-06550: LINE 1, COLUMN 7 : PL/SQL : STATEMENT INGNORED
Estoy usando la version del .NET Framework Data Provider for Oracle 1.0.5000.0. El servidor es de BD es Oracle 9i pero estoy usando el cliente del Oracle 8.1.7
Alguna solucion al problema? Gracias |