I'm with Mary. ADO.NET is NOT designed to provide a bulk data interface. I
have yet to see very many legitimate reasons to move that many rows to the
client. Processing that requires touching all the rows should be done on the
server if at all possible. Remember that if REALLY necessary (when TSQL is
not suitable) you can execute CLR procedures in VB.NET or C#. SELECT * is
also discouraged as it brings columns that you might not need. TSQL is no
different but consider that the operation is NOT returning any more than a
small cache of rows that is refreshed as you move through the rowset.
--
__________________________________________________________________________
William R. Vaughn
President and Founder Beta V Corporation
Author, Mentor, Dad, Grandpa
Microsoft MVP
(425) 556-9205 (Pacific time)
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
____________________________________________________________________________________________
[quoted text, click to view] "Achim Domma" <domma@procoders.net> wrote in message
news:4965387f-2188-48ee-ba42-eda9368b4af5@y21g2000hsf.googlegroups.com...
> Hi,
>
> I have a table containing about 14,5 million records and I want to
> iterate over the complete data. If I execute a "select * from
> mytable", the call to ExecuteReader takes some hours to return. In T-
> SQL I can open a cursor and start reading immediately. As far as I
> understand, ExecuteReader/SqlDataReader should behave the same way -
> but it seems like I'm wrong. Any hint?
>
> regards,
> Achim