Es bastante fácil para mí leer a través de una pequeña SQL Server 2005 tabla como la siguiente:necesita iterar por las filas de tabla SQL, uno a la vez (tabla demasiado grande para usar adapter.Fill)
string cmdText = "select * from myTable";
SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connection);
DataTable table = new DataTable();
adapter.Fill(table);
Desafortunadamente , este método parece cargar toda la tabla en la memoria, lo que simplemente no va a funcionar con las tablas gigantescas con las que estoy trabajando.
Me gustaría poder recorrer la tabla una fila a la vez, de modo que solo una fila deba estar en la memoria a la vez. Algo a lo largo de las líneas de:
foreach (DataRow row in rowIteratorObject)
{
// do something using the row
// current row goes out of scope and is no longer in memory
}
un poco similar a la forma en que se puede utilizar StreamReader para hacer frente a una sola línea archivo de texto a la vez, en lugar de leerlo todo a la vez. ¿Alguien sabe de una manera de hacer esto con las filas de la tabla (o, si estoy ladrando el árbol equivocado, una solución alternativa)?
Gracias por la punta! Estaba bastante seguro de que habría una forma .NET nativa de hacer esto, pero es difícil buscar un concepto en Google. ¡Necesitaba un nombre de clase para comenzar mi investigación! – Brandon