Re: MS SQL -> ACcess Data Export (Nearly 2 000 000)
- From: "Viatcheslav V. Vassiliev" <support@xxxxxxxxxxxxxxx>
- Date: Sun, 21 May 2006 12:59:49 +0400
For your method use server-side cursor - it is probable that you will not
have enough RAM to hold 2M rows in cache.
As alternative, connect to Access database and execute:
select * into jobs
from jobs
in [ODBC;Driver=SQL
Server;SERVER=<ServerName>;UID=<UserID>;PWD=<Password>;DATABASE=<Database>]
(there are no line breaks between [ and ]). Replace <...> with your values.
//------------------------------------------
Regards,
Vassiliev V. V.
http://www.managed-vcl.com - using .Net objects in Delphi for Win32 +
ADO.Net
http://www.oledbdirect.com - The fastest way to access MS SQL Server,
MS Jet (Access) and Interbase (through OLEDB)
"SEDS" <saintfi@xxxxxxxxx> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ:
news:446ec9a9@xxxxxxxxxxxxxxxxxxxxxxxxx
Hello,
I have to export jobs from MSSQL server database to access database.
Nearly
2 000 000 datas have to be exported. This operation will be done over 100
MS
SQL Server. I am using Delphi 6. When I try to run the program it gives
"virtual memory not enough". error. Is there Any idea?
Thanks,
adoquery.SQL.Add('select * from jobs');
adoquery.open;
adoquery.First;
while not adoquery.Eof do begin
s01:=adoquery.Fields[0].AsString;
s02:=adoquery.Fields[1].AsString;
s03:=adoquery.Fields[2].AsString;
s04:=adoquery.Fields[3].AsString;
s05:=adoquery.Fields[4].AsString;
s06:=adoquery.Fields[5].AsString;
s07:=adoquery.Fields[6].AsString;
s08:=adoquery.Fields[7].AsString;
s09:=adoquery.Fields[8].AsString;
s10:=adoquery.Fields[9].AsString;
s11:=adoquery.Fields[10].AsString;
s12:=adoquery.Fields[11].AsString;
s13:=adoquery.Fields[12].AsString;
s14:=adoquery.Fields[13].AsString;
s15:=adoquery.Fields[14].AsString;
s16:=adoquery.Fields[15].AsString;
s17:=adoquery.Fields[16].AsString;
s18:=adoquery.Fields[17].AsString;
s19:=adoquery.Fields[18].AsString;
s20:=adoquery.Fields[19].AsString;
s21:=adoquery.Fields[20].AsString;
s22:=adoquery.Fields[21].AsString;
s23:=adoquery.Fields[22].AsString;
s24:=adoquery.Fields[23].AsString;
s25:=adoquery.Fields[24].AsString;
s26:=adoquery.Fields[25].AsString;
s27:=adoquery.Fields[26].AsString;
s28:=adoquery.Fields[27].AsString;
s29:=adoquery.Fields[28].AsString;
s30:=adoquery.Fields[29].AsString;
sql_i:='insert into jobs values(';
sql_i:=sql_i+#39+s01+#39+',';
sql_i:=sql_i+s02+',';
sql_i:=sql_i+#39+s03+#39+',';
sql_i:=sql_i+#39+s04+#39+',';
sql_i:=sql_i+#39+s05+#39+',';
sql_i:=sql_i+#39+s06+#39+',';
sql_i:=sql_i+#39+s07+#39+',';
sql_i:=sql_i+#39+s08+#39+',';
sql_i:=sql_i+#39+s09+#39+',';
sql_i:=sql_i+#39+s10+#39+',';
sql_i:=sql_i+#39+s11+#39+',';
sql_i:=sql_i+#39+s12+#39+',';
sql_i:=sql_i+#39+s13+#39+',';
sql_i:=sql_i+#39+s14+#39+',';
sql_i:=sql_i+#39+s15+#39+',';
sql_i:=sql_i+#39+s16+#39+',';
sql_i:=sql_i+#39+s17+#39+',';
sql_i:=sql_i+#39+s18+#39+',';
sql_i:=sql_i+#39+s19+#39+',';
sql_i:=sql_i+#39+s20+#39+',';
sql_i:=sql_i+#39+s21+#39+',';
sql_i:=sql_i+#39+s22+#39+',';
sql_i:=sql_i+#39+s23+#39+',';
sql_i:=sql_i+#39+s24+#39+',';
sql_i:=sql_i+#39+s25+#39+',';
sql_i:=sql_i+#39+s26+#39+',';
sql_i:=sql_i+#39+s27+#39+',';
sql_i:=sql_i+#39+s28+#39+',';
sql_i:=sql_i+s29+',';
sql_i:=sql_i+#39+s30+#39;
sql_i:=sql_i+')';
adocommand.CommandText:=sql_i;
adocommand.Execute;
adoquery.Next;
end;
//----------------------------------------------------
//**** *****************
//----------------------------------------------------
ADOQuery.Close();
ADOQuery.Free;
adocommand.Free;
.
- References:
- Prev by Date: Re: MS SQL -> ACcess Data Export (Nearly 2 000 000)
- Next by Date: connect to db in codes
- Previous by thread: Re: MS SQL -> ACcess Data Export (Nearly 2 000 000)
- Next by thread: connect to db in codes
- Index(es):
Relevant Pages
|