2010-11-19 9 views
1

laden Wie ein ADO.NET-Treiber laden, aber, wenn eine Verbindung benötigt wird, ich die Verbindungszeichenfolge manuell, die durch meinen Code bedeutet angeben will und ohne es in der Konfigurationsdatei mit?die Treiber manuell

Wenn es keine Möglichkeit gibt, dies zu tun, was ist der beste Ansatz, dies zu erreichen, zu wissen, dass ich eine App schreibe, die verschiedene Datenbanken (so verschiedene DBMS) verwaltet, die vom Benutzer selbst eingegeben werden?

Antwort

2

Sie können hier viele Beispiele finden:

http://www.connectionstrings.com/

Beispiel (unter Verwendung von http://www.connectionstrings.com/postgre-sql):

var connection = new PostgreSqlConnection("Server=127.0.0.1;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword"); 
connection.Open(); 

Sie können DB-Provider Fabrik für Interface-basierte Programmierung statt, wenn Treiber spezifischen verwenden. http://msdn.microsoft.com/en-us/library/dd0w4a2z(VS.80).aspx

eine Fabrik zu erstellen: http://msdn.microsoft.com/en-us/library/dd0w4a2z.aspx

bearbeiten

Ich glaube, ich verstehe, was Sie suchen. Um den aktuellen Treiber Assembly zur Laufzeit zu laden. Sie können dies mit der DbProviderFactory tun. Sie müssen Ihrem Projekt keine treiberspezifischen Referenzen hinzufügen, wenn Sie es verwenden. Allerdings müssen die Treiber auf dem Computer installiert werden =)

+0

Das war nicht ganz das Ziel meiner Frage, aber ich habe gerade herausgefunden, dass ADO.NET tun kann, was ich vorhabe, tat ich nicht weiß, dass es den richtigen Treiber gemäß der übergebenen Verbindungszeichenfolge laden kann. Außerdem, danke für deine Zusammenarbeit :) – CoolStraw

+0

Bitte erarbeite was du danach suchst. – jgauffin

+0

Danke jgauffin! Du hast es richtig und richtig :) – CoolStraw

Verwandte Themen