Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / August 2007

Tip: Looking for answers? Try searching our database.

Web.config: connection string or connection key?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
rlueneberg@gmail.com - 03 Aug 2007 14:55 GMT
Can someone explain the difference of using these functions below? And
what is the advantage/disadvantage of each?

       static public SqlConnection GetConnectionString(string
ConnectionStringName)
       {
           SqlConnection myConnection = new
SqlConnection(ConfigurationManager.ConnectionStrings[ConnectionStringName].ConnectionString);
           return myConnection;
       }

       static public SqlConnection GetConnectionKey(string
ConnectionKey)
       {
           SqlConnection myConnection = new
SqlConnection(ConfigurationSettings.AppSettings[ConnectionKey]);
           return myConnection;
       }

Rod
Samuel R. Neff - 03 Aug 2007 16:44 GMT
The first is more structure than the second.

The first syntax is the new ASP.NET 2.0 style of storing connection
info and is made specifically for connections.  It allows associating
connection strings and provider names with a named connection string.
This simplifies using the new provider factory model and programming
in a generic way so your code is not tied to a specific database.  In
both examples you use SqlConnection directly but you can and most
likely should be using DbConnection instead and that is more easily
accomplished with the first configuration method than the second.

Also the first method allows for storing encrypted connection strings
whereas the second does not (at least not without custom encryption
programming).

Additionally, the first will support the new management tools for
editing the Web.config better than the second (again, because it's
more structured).

HTH,

Sam

------------------------------------------------------------
We're hiring!  B-Line Medical is seeking .NET
Developers for exciting positions in medical product
development in MD/DC.  Work with a variety of technologies
in a relaxed team environment.  See ads on Dice.com.

>Can someone explain the difference of using these functions below? And
>what is the advantage/disadvantage of each?
[quoted text clipped - 16 lines]
>
>Rod
rlueneberg@gmail.com - 03 Aug 2007 19:37 GMT
Samuel,   I don't understand how the first method is not tied to a
specific database if in both cases you can specify a connection name.
Can you give an example?

One more thing: if I wanted to use a more generic method called
GetDBConnection() what would be the best approach? I ask that because
they use the same string parameter.

Rod

> The first is more structure than the second.
>
[quoted text clipped - 45 lines]
>
> >Rod
Samuel R. Neff - 03 Aug 2007 22:37 GMT
I'm sorry I wasn't clear when I said specific database I meant
database engine.  ADO.NET simplifies writing code that works with
MSSQL, MSAccess, Oracle, and any other database engine with an ADO.NET
provider.

A more generic example would be

ConnectionStringSettings info =
ConfigurationManager.ConnectionStrings["mydb"];

DbProviderFactory factory =
DbProviderFactories.GetFactory(info.ProviderName)

DbConnection cnn = factory.CreateConnection();
cnn.ConnectionString = info.ConnectionString;

The key point is that if you switch from MSSQL to Oracle or even from
MSSQL to MSSQL with a 3rd party provider (there are some) then you
don't have to change your code, just your config.

Doesn't help you if you have dbms-specific sql, but it's a good start.

HTH,

Sam

------------------------------------------------------------
We're hiring!  B-Line Medical is seeking .NET
Developers for exciting positions in medical product
development in MD/DC.  Work with a variety of technologies
in a relaxed team environment.  See ads on Dice.com.

>Samuel,   I don't understand how the first method is not tied to a
>specific database if in both cases you can specify a connection name.
[quoted text clipped - 5 lines]
>
>Rod

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.