Well this has been a project. I am looking for a reasonably large test data table, something I could use to create a demo for dependent objects filtering, using a combo for filtering some table, then using that combo to filter some other table etc. At least two but preferably several levels deep. So says I, a large address database could allow me to treat a single table as if it were several. As an example, I could setup a listcontrol to filter for one or several states. Once I select those states I could set up the next to filter for last names. How many Colbys live in Texas. In California? In Arizona and New Mexico.and Utah. OK now what first names do those Colbys have.
Something like that. I really did not want to spend a bunch of time building a bunch of tables, clients, orders, line items or some such.
Soooo... I found this thing called the National Address Database. Free, maintained by the government, literally something like 60 million addresses. Cool, says I, let's grab that. Well yea! It requires SQL Server of course. And it don't fit in SQL Server Express. So I had to download the dev version, which I did.
So one would think a bulk copy import would be the ticket. One would be wrong!!! First off it is a csv, comma delimited. Whoever created thing thing created just a ton of fields where the field contained data like this "Something, Something Else, Something other". Bulk copy can't deal with the quotes with comas inside. The comma is the field delimiter and so it tries to break that string out into data for three fields.
I did get manage to get 4 million records in just using the BCP and ignoring errors but it died well before the end with a million errors. Even that I had to do 10,000 record updates all along the way. And holy cow, it was dog slow. I am doing this on my 8 core 16 thread 64gb ram huge ssd laptop. Plenty of horsepower.
So being the perfectionist that I am...
So I am trying to use SSIS ( I think it is called) which can deal with the quotes and embedded commas to correctly place that data into a single field.
You can see where I am going with this. What should be simple ain't. I got ssis to show me the thing, accept the first line as field info. etc but now it wants to use a standard 50 character string per field ans some fields have 255 characters.. There is an ini with field defs but it can't just use an ini.
So... I have spent a bunch of time trying to import a large table into SQL Server. SQL Server is a powerful beast but my forte is Access and event programming in vba.