Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2008, 13:32
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años
Puntos: 447
Busqueda Leer archivos de Texto con Schema.ini

Buenas tardes a todos los Foristas:

Estoy teniendo problemas para la lectura de archivos de texto separado por comas y espero que alguno de ustedes me pueda ayudar.

Hace algún tiempo lancé en este mismo foro una pregunta que afortunadamiente fue contestada por el compañero Kwasir (y a su compañero Álvaro quien dió la respuesta) y que consistía en saber cómo se puede cargar un achivo de texto separados por comas (,) y uno separado por Pipelines (|) a un GridView.

http://www.forosdelweb.com/f78/como-cargar-archivo-texto-gridview-634601/

La respuesta para esto es la utilización de un archivo Schema.ini para poder especificarle qué tipo de delimitador se está utilizando para cada archivo. Ahora bien. ahora tengo el siguiente problema. Continuando con los mismos archivos de Texto, tengo algo como esto:

Ejemplo archivo separado por comas (c:/ReportesSemanales/ReporteComas.txt)

2008,1899,Oficinas Centrales,10,99,
2008,1897,Almacén "A",10,99,
2008,1900,Sala de usos múltiples,10,99,
2008,1898,Almacén "B",10,99,

Ejemplo archivo separado por Pipeline's (c:/ReportesSemanales/ReportePipe.txt)

2008|1899|Oficinas Centrales|10|99|
2008|1897|Almacén "A"|10|99|
2008|1900|Sala de usos múltiples|10|99|
2008|1898|Almacén "B"|10|99|

Mi Archivo Schema.ini está definido de la siguiente manera:

[ReporteComas.txt]
ColNameHeader=False
Format=Delimited(,)
CharacterSet=ANSI

[ReportePipes.txt]
ColNameHeader=False
Format=Delimited(|)
CharacterSet=ANSI

Sin embargo al momento de hacer la carga al GridView me está arrojando los siguientes Resultados:

F1--|F2--|F3----------------|F4|F5|
----------------------------------
2008|1899|Oficinas Centrales---|10|99|
2008|1897|Almacén-----------|--|--|
2008|1900|Sala de usos múltiples|10|99|
2008|1898|Almacén-----------|--|--|

Como podrán ver para los registros 2 y 4 me corta la descripción hasta antes de la primer comilla doble (") y me deja los campos F4 y F5 sin información...

Para cargar el archivo en el GridView estoy utilizando el siguiente código
Código:
connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Da ta Source={0};Extended Properties='text;HDR={1};FMT={2}'", "c:/ReportesSemanales", "NO", "Delimited"); 
SelectSQL ="SELECT * FROM " + ReporteComas.txt; //-> Para Pipelines cambiar 
try 
{ 
conn = new OleDbConnection(@connectionString); 
conn.Open(); // Abrimos la conexión al archivo 
OleDbCommand dbCommand = new OleDbCommand(SelectSQL.ToString(), conn); 
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(dbCommand); 
//Crear una nueva Tabla 
DataTable dTable = new DataTable(); 
dataAdapter.Fill(dTable); 
//Asignar la tabla al GridView 
GVArchivo.DataSource = dTable; 
GVArchivo.DataBind(); 
// Eliminar los objetos y cerrar las conexiones. 
dTable.Dispose(); 
dataAdapter.Dispose(); 
dbCommand.Dispose(); 
conn.Close(); 
conn.Dispose(); 
} 
catch (Exception ex) 
{ 
Temporal = new StringBuilder(); 
Temporal.Append("A ocurrido una excepción: \n ").Append(@ex.ToString()); 
}
Mi gustaría saber si alguien sabe por qué está sucediento esto y cómo puedo solucionarlo. Muchas Gracias de Antemano

Leo