my problem is I need to export a pretty hefty amount of user records out of a MySQL database to a file which can be easily imported by a third party into their applications.
My client does not want to bulk email it's customers itself, since it would impose a lot of pratical problems and would require more programming on my side and whatnot (that's what I figured). Not to mention the fact the domain could spend time on some spam blacklist, something they really want to avoid.
As far as I knew, there's 3 ways this problem can be tackled:
1: send the data in question realtime via forms to the company
2: send the data realtime via curl or something
3: export the data to a file and have it imported by the company to their application
since the first two options would require additional work and communucations and adjusting of scripts between two parties, it is by far less flexible. My client does not want to be dependant and wants a solution which is versatile, so that they are not bound to the other party and can easily switch if need be. So I figured option 3 would be the best way. Yet option 3 also imposes a lot of practical problems, especially when it comes to filesize of the generated files.
Sofar I have exported (or tried to export) to:
- excel, problem: maximum of 65536 exported records
- excel 2007, problem: memory allocation fails (needs over 512 mb for 100000 records, class used: [codeplex.com...] While this is a awesome class for versatality, the memory footprint is absolute hilarious and can only be considered a joke, taking up around 1 mb per 57 rows of data...
- xml, problem: memory is also an issue here
currently I am using the script at <snip>, which supposedly should go easy on the memory, but it also needs more then 512 mb
it pretty much doesnt matter which XML writer class I use, all of them exhaust my memory
how do other people tackle this issue? Any pointers to what I can do?
[edited by: dreamcatcher at 1:30 pm (utc) on April 3, 2008]
[edit reason] no personal blog urls. thanks. [/edit]