Whoo hoo!
It worked! How? ... I don't know, but it worked!
Here's what I had to do:
Uninstall MSDE through Add/Remove Programs. Remove the \Program Files\Microsoft SQL Server folder and all of it's contents. This included my original MSDE information that was never removed.
I then had to remove every trace of MSSQL, VSDOTNET, and Microsoft SQL from my registry.
After doing that, I reinstalled my original version of MSDE that came with the Academic version of Visual Studio .NET 2002. You can choose to configure the setup.ini file if you don't wish to have to type all of the parameters into the command line for the setup.exe command, however, everytime I tried to get specific about target or data directories, it required me to give it a SAPWD, which is only required when you specify that you want to use SQL authentication, using some other flag. On the page that describes installing MSDE using the command prompt, it suggests not to use SQL authentication, but to use NT authentication, instead.
Anyhow, I left the .ini file alone and everything installed correctly, just like the initial time I installed MSDE.
I noticed that in Server Explorer, when you click on the database (after creating tables and loading it with data) a 'Connect String' property appears. This is not the same as ConnectionString or, at least, can't be copied straight over and used as the ConnectionString property. Believe me, I tried it a bunch. For the life of me, I couldn't get it to understand the 'Provider' argument, and I've seen .Provider used in some development code at work, so I don't really know what the deal is with that.
After finding this page:
http://msdn.microsoft.com/library/de...tringtopic.asp
I started over with the bare minimum for the connection string.
"Data Source=<computer-name>\<instance-name>;" where instance name defaults to VSdotNET for MSDE from the Visual Studio .NET installation.
That didn't work, so I ended up adding to the above string:
"...;Database=<database-name>;Integrated Security=sspi;Workstation ID=<computer-name>;"
Just for clarity's sake, here's my full connection string:
"data source=WOOLLY-01\VSdotNET;Database=pubs;Integrated Security=sspi;Workstation ID=WOOLLY-01;"
After changing that, I got past the SQLException on the .Open method.
After fixing a few discrepencies in my select statement, I was home free.
Thanks for your help Jonathan! Now I can continue on and finish the book.
Jason