Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Typed DataSet connection - required to have one in the .xsd file?

In the .xsd file for a typed DataSet in .NET, there's a <Connections> section that contains a list of any data connections I've used to set up the DataTables and TableAdapters.

There are times when I'd prefer not to have those there. For instance, sometimes I prefer to pass in a connection string to a custom constructor and use that rather than look for one in settings, .config, etc.

But it seems like if I remove the connection strings from that section (leaving it empty), or remove the section entirely, the DataSet code-generation tool freaks out. Whereas if I don't remove them, the DataSet gripes when I put it in a different project because it can't find the settings for those connection strings.

Is there any way I can tell a typed DataSet not to worry about any connections? (Obviously I'll have to give it a connection if I change any TableAdapter SQL or stored procs, but that should be my problem.)

like image 301
Ryan Lundy Avatar asked Nov 17 '08 18:11

Ryan Lundy


1 Answers

This has bugged me for a long time as well and I did some testing recently. Here is what I came up with. For the record, I'm using VS 2008 SP1.

  • Datasets will store connection string information whether you want them to or not.
  • You can make sure datasets won't store passwords in their connection strings.
  • You can either have the connection string stored in the 'connections' section the .xsd file or you can have it stored in the app.config file and referenced from the 'connections' section of the .xsd file. Either way, the 'connections' section appears to be a requirement.

If you find a way to make it work, please post here. Currently, I store the connection string in the xsd file and make sure I'm not storing the password. Then, when I use it it code, I always create my own connection and never use one stored in the dataset.

like image 111
codeConcussion Avatar answered Oct 22 '22 13:10

codeConcussion