C# 太多的';ALTA#u Social';从c调用过程时匹配此调用#

C# 太多的';ALTA#u Social';从c调用过程时匹配此调用#,c#,oracle,stored-procedures,C#,Oracle,Stored Procedures,这个问题正在慢慢地折磨着我,我想问题可能在日期和时间格式上,但不确定 例外情况: ORA-06550: line 1, column 7: PLS-00307: too many declarations of 'ALTA_SOCIO' match this call ORA-06550: line 1, column 7: PL/SQL: Statement ignored PROCEDURE alta_socio( p_nickname IN VARCHAR2, p

这个问题正在慢慢地折磨着我,我想问题可能在日期和时间格式上,但不确定

例外情况:

ORA-06550: line 1, column 7:
PLS-00307: too many declarations of 'ALTA_SOCIO' match this call
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
    PROCEDURE alta_socio(
    p_nickname IN VARCHAR2,
    p_nombre IN VARCHAR2,
    p_apellido IN VARCHAR2,
    p_cod_tipo_documento IN VARCHAR2,
    p_numero_documento IN NUMBER,
    p_fecha_nacimiento IN DATE,
    p_sexo IN VARCHAR2,
    p_cod_categoria IN VARCHAR2,
    p_numero_socio OUT NUMBER,
    p_codigo_error OUT NUMBER);

PROCEDURE alta_socio(
    p_nickname IN VARCHAR2,
    p_nombre IN VARCHAR2,
    p_apellido IN VARCHAR2,
    p_cod_tipo_documento IN VARCHAR2,
    p_numero_documento IN NUMBER,
    p_fecha_nacimiento IN DATE,
    p_sexo IN VARCHAR2,
    p_cod_categoria IN VARCHAR2,
    p_mail IN VARCHAR2 DEFAULT NULL,
    p_telefono_particular IN VARCHAR2 DEFAULT NULL,
    p_telefono_alternativo IN VARCHAR2 DEFAULT NULL,
    p_cod_ocupacion IN VARCHAR2 DEFAULT NULL, 
    p_cod_profesion IN VARCHAR2 DEFAULT NULL,
    p_cod_estado_civil  IN VARCHAR2 DEFAULT NULL,
    p_fecha_casamiento IN DATE DEFAULT NULL,
    p_nombre_apellido_conyuge IN VARCHAR2 DEFAULT NULL,
    p_cod_pais   IN VARCHAR2 DEFAULT NULL,
    p_cod_provincia IN VARCHAR2 DEFAULT NULL,
    p_cod_localidad IN VARCHAR2 DEFAULT NULL,
    p_calle IN VARCHAR2 DEFAULT NULL,
    p_numero IN VARCHAR2 DEFAULT NULL, 
    p_piso IN VARCHAR2 DEFAULT NULL,
    p_departamento IN VARCHAR2 DEFAULT NULL,
    p_cp IN VARCHAR2 DEFAULT NULL,
    p_cp_nuevo_formato IN VARCHAR2 DEFAULT NULL,        
    p_numero_socio OUT NUMBER,
    p_codigo_error OUT NUMBER);
程序:

ORA-06550: line 1, column 7:
PLS-00307: too many declarations of 'ALTA_SOCIO' match this call
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
    PROCEDURE alta_socio(
    p_nickname IN VARCHAR2,
    p_nombre IN VARCHAR2,
    p_apellido IN VARCHAR2,
    p_cod_tipo_documento IN VARCHAR2,
    p_numero_documento IN NUMBER,
    p_fecha_nacimiento IN DATE,
    p_sexo IN VARCHAR2,
    p_cod_categoria IN VARCHAR2,
    p_numero_socio OUT NUMBER,
    p_codigo_error OUT NUMBER);

PROCEDURE alta_socio(
    p_nickname IN VARCHAR2,
    p_nombre IN VARCHAR2,
    p_apellido IN VARCHAR2,
    p_cod_tipo_documento IN VARCHAR2,
    p_numero_documento IN NUMBER,
    p_fecha_nacimiento IN DATE,
    p_sexo IN VARCHAR2,
    p_cod_categoria IN VARCHAR2,
    p_mail IN VARCHAR2 DEFAULT NULL,
    p_telefono_particular IN VARCHAR2 DEFAULT NULL,
    p_telefono_alternativo IN VARCHAR2 DEFAULT NULL,
    p_cod_ocupacion IN VARCHAR2 DEFAULT NULL, 
    p_cod_profesion IN VARCHAR2 DEFAULT NULL,
    p_cod_estado_civil  IN VARCHAR2 DEFAULT NULL,
    p_fecha_casamiento IN DATE DEFAULT NULL,
    p_nombre_apellido_conyuge IN VARCHAR2 DEFAULT NULL,
    p_cod_pais   IN VARCHAR2 DEFAULT NULL,
    p_cod_provincia IN VARCHAR2 DEFAULT NULL,
    p_cod_localidad IN VARCHAR2 DEFAULT NULL,
    p_calle IN VARCHAR2 DEFAULT NULL,
    p_numero IN VARCHAR2 DEFAULT NULL, 
    p_piso IN VARCHAR2 DEFAULT NULL,
    p_departamento IN VARCHAR2 DEFAULT NULL,
    p_cp IN VARCHAR2 DEFAULT NULL,
    p_cp_nuevo_formato IN VARCHAR2 DEFAULT NULL,        
    p_numero_socio OUT NUMBER,
    p_codigo_error OUT NUMBER);
c#代码

  int retornoNroSocio = (int)retorno.ObjetoGenerico;
        //Agrego todos los parametros al comando

        OracleParameter parameterNickname = new OracleParameter("p_nickname", OracleType.VarChar, 32767);
        parameterNickname.Direction = ParameterDirection.Input;
        parameterNickname.Value = nickname;
        ora_cmd.Parameters.Add(parameterNickname);

        OracleParameter parameterNombre = new OracleParameter("p_nombre", OracleType.VarChar, 32767);
        parameterNombre.Direction = ParameterDirection.Input;
        parameterNombre.Value = nombre;
        ora_cmd.Parameters.Add(parameterNombre);

        OracleParameter parameterApellido = new OracleParameter("p_apellido", OracleType.VarChar, 32767);
        parameterApellido.Direction = ParameterDirection.Input;
        parameterApellido.Value = apellido;
        ora_cmd.Parameters.Add(parameterApellido);


        OracleParameter parameterTipoDocumento = new OracleParameter("p_cod_tipo_documento", OracleType.VarChar, 32767);
        parameterTipoDocumento.Direction = ParameterDirection.Input;
        parameterTipoDocumento.Value = tipoDocumento;
        ora_cmd.Parameters.Add(parameterTipoDocumento);

        OracleParameter parameterNroDocumento = new OracleParameter("p_numero_documento", OracleType.Number);
        parameterNroDocumento.Direction = ParameterDirection.Input;
        parameterNroDocumento.Value = numeroDocumento;
        ora_cmd.Parameters.Add(parameterNroDocumento);

        string fecha1 = DateTime.Today.ToShortDateString();
        DateTime fecha2 = DateTime.Today;
        string fecha3 = fecha2.ToString("dd-MM-yyyy");
        DateTime fecha4 = new DateTime(2012, 5, 7, 12, 23, 22, 0);
        DateTime fecha5 = DateTime.ParseExact(fecha3, "dd-MM-yyyy", null);

        OracleParameter parameterFechaNacimiento = new OracleParameter("p_fecha_nacimiento", OracleType.DateTime);
        parameterFechaNacimiento.Direction = ParameterDirection.Input;
        parameterFechaNacimiento.Value = fecha5;   
        //parameterFechaNacimiento.Value = fecha2.ToString("dd/MM/yyyy");   
        ora_cmd.Parameters.Add(parameterFechaNacimiento);

        OracleParameter parameterSexo = new OracleParameter("p_sexo", OracleType.VarChar, 32767);
        parameterSexo.Direction = ParameterDirection.Input;
        parameterSexo.Value = sexo.ToString();
        ora_cmd.Parameters.Add(parameterSexo);

        OracleParameter parameterCodCategoria = new OracleParameter("p_cod_categoria", OracleType.VarChar, 32767);
        parameterCodCategoria.Direction = ParameterDirection.Input;
        parameterCodCategoria.Value = codCategoria;
        ora_cmd.Parameters.Add(parameterCodCategoria);

        //ora_cmd.Parameters.Add("p_numero_socio", OracleType.Number).Direction = ParameterDirection.Output;
       // ora_cmd.Parameters.Add("p_codigo_error", OracleType.Number).Direction = ParameterDirection.Output;

        OracleParameter resultNumeroSocio = new OracleParameter("p_numero_socio", OracleType.Number);
        resultNumeroSocio.Direction = ParameterDirection.Output;
        ora_cmd.Parameters.Add(resultNumeroSocio);

        OracleParameter resultCodigoError = new OracleParameter("p_codigo_error", OracleType.Number);
        resultCodigoError.Direction = ParameterDirection.Output;
        ora_cmd.Parameters.Add(resultCodigoError);


        //Ejecuto el comando
        ora_cmd.ExecuteNonQuery();
我尝试了几种日期格式但没有成功,我不知道会是什么。
非常感谢您提供的帮助,如果您需要更多我可以添加的内容。

我认为这不是日期格式-Oracle无法区分您要调用哪个
alta_
过程,因为前8个参数是相同的,其余是可选的

但是,传递日期的正确方法只是传递日期值,而不是将其转换为字符串

OracleParameter parameterFechaNacimiento = new OracleParameter("p_fecha_nacimiento", OracleType.DateTime);
parameterFechaNacimiento.Direction = ParameterDirection.Input;
parameterFechaNacimiento.Value = fecha5;   // use the native DateTime type
ora_cmd.Parameters.Add(parameterFechaNacimiento);