This error was giving me fits today. Thought I had my Oracle connection string all setup correctly, since I'd already used it for a GridView control. Thinking I could just copy/paste a SqlDataSource command down for another couple of controls, it should have been a snap...
But I kept getting these System.ArgumentException errors pointing me to my web.config!!!! WTH???
Turns out I forgot ONE parameter in my SqlDataSource object: ProviderName="<%$ ConnectionStrings:MyWebConfigDsn.ProviderName %>"
Voila, all is well in the world.