You should realize something is odd with your specification if you have exceeded the capabilities of Excel and Notepad.
You could use the file, assuming it has nine million rows. Keep in mind that the file is going to be loaded into RAM at the beginning of the test. This is by design and is there to minimize disc activity on the drive during the test. OK, so now you have the phone book of a large city in RAM, your load generator is swapping like nuts because you are nearing the addressable limit of a 32 bit operating system at 4GB of RAM on the Box (and you only have 3GB on your load generator) and what are the nine millions rows buying you, specifically, in terms of load and performance?
Have you considered for names, as an example, if you need data spread, 512 first names, 26 middle initials and 512 last names picked randomly for each component provides for a distribution of 6,815,744 name combinations and uses a very small amount of RAM to do so. Likewise, random generated street numbers, street names, valid zip codes from a file read random (Ciry, State, Zip tied to line) provide for a very compact set of data with enormous complexity in terms of use.
As a performance tester|engineer we need to follow the same rules we expect of any other developer in terms of using the smallest amount of resource to get the job done, or you may wind up with 500 load generators to support 500 virtual users. Not a very scaleable solution set.
'Pulley