I have a coworker with a Local Access 2007 table and an identical table linked to SQL Server 2000.
The SQL Server table is empty and the Access table has 1,500,000 rows.
If he opens Windows Task Manager and watches while this executes:
CurrentDb.Execute "Insert Into SqlServerTable Select * From AccessTable"
The Task Manager will show the process growing rapidly until it reaches 2GB and then it crashes.
If the Append operation is broken down into multiple steps, the memory is not reclaimed after
each step and the process still crashes.
The short-term workaround is to iterate through a DAO recordset, appending to an ADO recordset
column-by-column. This doesn't incur any "memory bloat", but works about as SLOWLY as expected ...
About 1 million rows per hour.
We did get the data over, but this effort will need to be done periodically.
I'm quite sure that DTS would offer better performance.
Any other thoughts or ideas?
Thanks,
Wayne
The SQL Server table is empty and the Access table has 1,500,000 rows.
If he opens Windows Task Manager and watches while this executes:
CurrentDb.Execute "Insert Into SqlServerTable Select * From AccessTable"
The Task Manager will show the process growing rapidly until it reaches 2GB and then it crashes.
If the Append operation is broken down into multiple steps, the memory is not reclaimed after
each step and the process still crashes.
The short-term workaround is to iterate through a DAO recordset, appending to an ADO recordset
column-by-column. This doesn't incur any "memory bloat", but works about as SLOWLY as expected ...
About 1 million rows per hour.
We did get the data over, but this effort will need to be done periodically.
I'm quite sure that DTS would offer better performance.
Any other thoughts or ideas?
Thanks,
Wayne