Tuesday, June 20, 2006

Adding connection strings at runtime

Today I noticed how non-intuitive it is to write to the configuration file programatically for an application.  What I needed to do was dynamically create a connection string, then write it to the app.config file.

Here’s how you do it:

first, you need to add a project reference to the System.Configuration assembly.  Add a corresponding using clause to the top of your class.

   using System.Configuration;

Next you need to find and open the configuration file.  In win forms, you do this by specifying the full path to your application’s executable.  If you project is at c:\code\project1 then you would pass in something like this: “c:\code\project1\bin\debug\project1.exe”.

 Configuration config = ConfigurationManager.OpenExeConfiguration(FULL_EXE_PATH);

 

 ConnectionStringSettings connStringSettings = new ConnectionStringSettings("database",

     "connection_string_here");

 

 config.ConnectionStrings.ConnectionStrings.Add(connStringSettings);

 

 config.Save();

For ASP.NET, you can follow the same principle, but use the System.Web.Configuration namespace in conjunction with WebConfigurationManager.OpenWebConfiguration(path) where path is the url of your root, for example http://localhost/webapp1 (notice there is no trailing slash).

Comments are closed.
Credit Card Consolidation - Credit Card - Personal Loans - Credit Counseling