The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Liste der installierten ADO.NET Provider abrufen

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
-

Posts: 1524
Nickname: nitronic
Registered: Jul, 2006

Norbert Eder works as a software architect.
Liste der installierten ADO.NET Provider abrufen Posted: Feb 14, 2007 6:41 AM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by -.
Original Post: Liste der installierten ADO.NET Provider abrufen
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Latest .NET Buzz Posts
Latest .NET Buzz Posts by -
Latest Posts From Norbert Eder - Living .NET

Advertisement
M��chte man ��berpr��fen ob ein bestimmter ADO.NET Provider am System registriert ist, kann dies mit einigen Zeilen Code erledigt werden. Das nachfolgende Beispiel liefert eine Liste aller verf��gbaren ADO.NET Provider.

Zu beachten ist an dieser Stelle, dass Provider, die ��ber die App.Config eingebunden wurden, hier ebenfalls mit aufgelistet werden.

private List GetDbFactoryClasses()
{
    List factClasses = new List();
    DataTable dt = DbProviderFactories.GetFactoryClasses();
    if (dt != null)
    {
        foreach (DataRow dr in dt.Rows)
        {
            factClasses.Add(dr[2].ToString());
        }
    }
    return factClasses;
}

Eine ��berpr��fung ist nicht nur in Problemf��llen sinnvoll, sondern sollte auch vor dem Laden eines Providers ��ber DbProviderFactory geschehen. Dadurch kann eine Exception vermieden und der Benutzer entsprechend benachrichtigt werden (oder Eintrag in eine Logdatei und ��hnliches).

Zur Vollst��ndigkeit:

Ein Provider kann folgenderma��en dynamisch geladen werden:

// Nur der Vollst��ndigkeit halber
// Wird normalerweise aus einer Konfiguration gelesen
 
string strProviderInvariantName = "System.Data.SqlClient";
string strConnectionString = "...";


// Laden des Providers
// Erstellen der Datenbank-Verbindung
// Zuweisung des notwendigen ConnectionStrings
 
DbProviderFactory dbFactory = 
    DbProviderFactories.GetFactory(strProviderInvariantName);
DbConnection dbConnection = dbFactory.CreateConnection();
dbConnection.ConnectionString = strConnectionString;

Wie bereits in den Code-Kommentaren angemerkt, werden diese Einstellungen normalerweise aus einer Konfiguration geladen oder in einer anderen Form an die Anwendung ��bergeben. Der Vorteil liegt darin, dass die Anwendung damit mit einem beliebigen ADO.NET Provider ausgef��hrt werden kann.

Read: Liste der installierten ADO.NET Provider abrufen

Topic: LINQ Extensibility at NxtGenUG Birmingham Previous Topic   Next Topic Topic: Microsoft ASP.NET AJAX Hands-On Labs in English!

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use