Cuestión : Problema con C# OracleDataReader que recupera OracleLob en un expediente

Estoy teniendo una edición que ha sido muy frustrating.  Estoy utilizando C# para seleccionar un expediente fuera de una base de datos de Oracle.  las vueltas selectas de la declaración un expediente basado en la identificación del expediente, y el campo de OracleClob está en la primera posición de los resultados.  Cuando la declaración ejecuta la primera vez, recupero el valor correcto de OracleLob.  Las ejecuciones subsecuentes de la declaración selecta vuelven el expediente siguiente para todos los campos con excepción del OracleLob.  Ese campo nunca cambia.  Cada vez que eso el Console.WriteLine (clob. Value); ejecuta, él imprime el primer clob de los expedientes cada vez.  ¿Podría alguien precisar lo que estoy haciendo mal? class= " lineNumbers " >
1 del >


        GetProposalFile vacío privado estático (rec de registro)
        {
            secuencia connectionString = GetConnectionString ();
            el usar (conexión de OracleConnection = nuevo OracleConnection ())
            {
                connection.ConnectionString = connectionString;
                
                Console.WriteLine (“estado: {0}”, conexión. Estado);
                Console.WriteLine (“ConnectionString: {0}”,
                                  connection.ConnectionString);
                conexión. Abrirse ();
                Comando de OracleCommand = nuevo OracleCommand ();

                secuencia sql = “f.txt selecto _file, t.* de las transacciones t, trans_files f” +
                        “donde t.record_id =: pOID” +
                        “y sequence_no = (máximo selecto (tt.sequence_no) de las transacciones tt” +
                        “donde tt.record_id =: pOID2 y tt.TRANS_STAT_CD = “TASADO” y tt.TRANS_TYPE_CD = “P ")”;

                command.CommandText = sql;
                comando. Parameters.Clear ();
                comando. Parameters.Add (nuevo OracleParameter (“: pOID”, OracleType.VarChar));
                comando. Parámetros [“: pOID”]. Valor = rec.RecordID;
                comando. Parameters.Add (nuevo OracleParameter (“: pOID2”, OracleType.VarChar));
                comando. Parámetros [“: pOID2”]. Valor = rec.RecordID;
                
                Console.WriteLine (“SQLCommand: ” + command.CommandText);

                comando. Conexión = conexión;
                Lector de OracleDataReader = command.ExecuteReader ();
                
                
                lector. Leído ();
                ¡si (lector! = falta de información)
                {
                    Clob de OracleLob = reader.GetOracleLob (0);
                    filesize de largo = clob. Longitud;

                Archivo de StreamWriter = nuevo StreamWriter (“C:\ \ \ \ usuario de los documentos y de los ajustes \ \ \ \ Temp de la mesa \ \ \ \” de RecordExtract 
                        + rec.RecordID + “-” + rec.PropOrdInd + rec.PropTypCd + “-” + rec.LineItemCnt + “.txt”, falsos);
                    file.WriteLine (clob. Valor);
                    archivo. Cierre ();
                    Console.WriteLine (clob. Valor);
                    clob. Rubor ();
                    clob. Posición = 0;
                }
                comando. Disponer ();
                
                lector. Cierre ();
                lector. Disponer ();
                conexión. Cierre ();
            }
        } class= >
de
class= del

Respuesta : Problema con C# OracleDataReader que recupera OracleLob en un expediente

Hola,

Puesto que el directorio de la página no se incluye en el código usted me tiene fijado bisela ve si usted ha intentado esto pero hay una característica llamada “MaintainScrollPositionOnPostback” ese le puede fijar para verdad en el directorio de la página que forzará la página al maitain la posición de la voluta respecto a postback.

/Carl.
Otras soluciones  
 
programming4us programming4us