[unixODBC-support] Problem in using cursor to fetch millions of rows

Jerry Lam jlam at sandvine.com
Wed Apr 6 17:37:04 BST 2005


I would like to know how can I use the cursor such that it returns me 1 row at a time? My problem is that I'm using tclodbc which is an odbc layer on top of tcl and it makes call to unixodbc for SQL execution. 
My table has some millions of rows, when I try the following, (sorry it is in tcl but it is very easy to follow) it will consume all the memory in my machine and force it to return error. How can I effectively use cursor to just ask to return 1 row at a time?

Thank you very much,


% package require tclodbc
% database db "DRIVER=PostgreSQL;Servername=localhost;UID=xxx,PWD=xxx;Database=bar"
%  db set autocommit 0
% db statement stmt "select * from foo"
% stmt set maxlength 200
% stmt set maxrows 1
% stmt execute

More information about the unixODBC-support mailing list