none
Internal .Net Framework Data Provider error 30 RRS feed

  • Pergunta

  • Bom dia a todos,

    Alguém conhece erro? o por que acontece, por favor?
    Internal .Net Framework Data Provider error 30..    at System.Data.ProviderBase.DbBuffer.Validate(Int32 offset, Int32 count)
       at System.Data.ProviderBase.DbBuffer.PtrToStringUni(Int32 offset)
       at System.Data.OracleClient.OciHandle.PtrToString(NativeBuffer buf)
       at System.Data.OracleClient.OracleException.CreateException(OciErrorHandle errorHandle, Int32 rc)
       at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
       at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
       at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
       at System.Data.OracleClient.OracleCommand.ExecuteNonQuery()

    código abaixo:

        using (OracleCommand command = new OracleCommand())
        {

         OracleConnection connection = ConnectionHelper.GetOpenedConnection();
         command.Connection = connection;
         command.CommandType = CommandType.StoredProcedure;
         command.CommandText = "PK_FTC.PR_FTC_LANCA";


         command.Parameters.Add(new OracleParameter
         {
          OracleType = OracleType.VarChar,
          Direction = ParameterDirection.Input,
          ParameterName = "V_Tipo"
         });

         switch ((EnumType)tipo)
         {
          case DebitoTaxaType.RendaFixa:
           command.Parameters["V_Tipo"].Value = "RF";
           break;
          case DebitoTaxaType.RendaFixaManutencao:
           command.Parameters["V_Tipo"].Value = "RFM";
           break;
          case DebitoTaxaType.RendaVariavel:
           command.Parameters["V_Tipo"].Value = "RV";
           break;
          case DebitoTaxaType.RendaVariavelManutencao:
           command.Parameters["V_Tipo"].Value = "RVM";
           break;
          default:
           throw new Exception("Tipo não encontrado.");
         }

         command.Parameters.Add(new OracleParameter
         {
          OracleType = OracleType.VarChar,
          Direction = ParameterDirection.Input,
          ParameterName = "V_DS_USUARIO",
          Value = usuario
         });

         command.Parameters.Add(new OracleParameter
         {
          OracleType = OracleType.Byte,
          Size = 1,
          Direction = ParameterDirection.Output,
          ParameterName = "V_DS_STATUS"
         });

         command.ExecuteOracleScalar();

         debitou = command.Parameters["V_DS_STATUS"].Value.ToString() == "1";

         FTCConnectionHelper.CloseConnection();


        }


    Abdul Hade Nasser Bou Abbas CSharp Developer .NETianos - BuildBrasil
    terça-feira, 9 de agosto de 2011 14:47

Respostas

  • Boa tarde,

    Problema resolvido.
    era um problema da procedure em si.

    Tinha um insert no meio do código que estava recebendo um valor maior que um parametro poderia suportar.

     

    muito obrigado!


    Abdul Hade Nasser Bou Abbas CSharp Developer .NETianos - BuildBrasil
    terça-feira, 9 de agosto de 2011 19:37