Laden...

Datenanbindung an unterschiedliche DB-Typen

Erstellt von Azrael Masters vor 18 Jahren Letzter Beitrag vor 18 Jahren 3.622 Views
A
Azrael Masters Themenstarter:in
38 Beiträge seit 2005
vor 18 Jahren
Datenanbindung an unterschiedliche DB-Typen

Hi ich bins mal wieder ^^,

hab ausnahmsweiße mal ein privates Problem. Und zwar arbeite ich grade an meiner ersten ASP.NET Webapplikation mit der zuhilfenahme von C#. Soweit kein problem, komme auch zügig voran. Mein Problem ist der Datenbankzugriff. Ich möchte wenn es überhaupt möglich ist (denke aber eher schon^^) dem User die Wahl überlassen welche Datenbank er einsetzt (MS SQL, MySQL, Oracle, MS Access 😛). Den Datenbanktyp wäre in der web.config hinterlegt. Nur für jeden oben genannten Datenbanktyp gibt es ja eigene Befehle bzw. Objekte. Gibt es evtl. bereits eine fertige Klasse auf die ich zugreifen könnte? Oder wie programmiere ich mir am besten selbst eine Datenzugriffsklasse in die ich meine SQL Befehle+DB Typ hineingebe und dann die von mir gewünschten Daten in den jeweiligen Datasets,Repeatern,Datalists usw. angezeigt werden?

Evtl. eine Anfängerfrage keine Ahnung, hab leider zu dem Thema universeller Datenzugriff nichts in C# gefunden 🙁 hoffe ihr könnt mir helfen.

Vielen Dank bereits.

Gruß Azrael Masters

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
N
4.644 Beiträge seit 2004
vor 18 Jahren

Daten - Provider Regelwerk?

Im .NET Framework 2.0 ist eine ProviderFactory enthalten.

A
Azrael Masters Themenstarter:in
38 Beiträge seit 2005
vor 18 Jahren

Erstmal Dankeschön für die schnelle qualifizierte Antwort.

Leider kann ich mit dem .NET Gentle nicht viel anfangen da ich es nunja nicht verstehe X(

Die ProviderFactory im 2.0 Framework übernimmt diese Arbeit automatisch oder wie darf ich das verstehen? Bin noch relativ neu wenns zu technisch wird (z.b. DAL: DataAccessLayer 🤔
HL: HighLevel 🤔
LL: LowLevel 🤔 ) verlier ich den durchblick ^^ich benutz mein aktuelles Projekt in ASP.NET um die Webentwicklung in C# und ADO.NET Anbindung zu lernen, und da ich am besten an der Praxis lerne fehlt da noch ein bisschen know-how =)

Sorry hätte ich vielleicht vorher erwähnen sollen.

Dachte es wäre einfach nur ein klasse mit nem Switch der die jeweiligen Verbindungen aufbauen kann und dann nur noch das Dataset returnt, aber das war evtl. zu einfach gedacht. ka.

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
N
4.644 Beiträge seit 2004
vor 18 Jahren

Bist Du in der Lage für das Projekt .NET 2.0 zu benutzen? Wenn ja schau Dir mal den Webcast von Ralf Westphal an.

A
Azrael Masters Themenstarter:in
38 Beiträge seit 2005
vor 18 Jahren

Da mein Projekt privater Natur ist und der Einarbeitung dient bei der danach was ne nützliche Webapplikation rausspringt ja 🙂 also erstmal vielen Dank.

Noch die kurze Frage bevor ich mir den Webcast ansehe, entspricht der ProviderFactory etwa dem: ?

Dachte es wäre einfach nur ein klasse mit nem Switch der die jeweiligen Verbindungen aufbauen kann und dann nur noch das Dataset returnt, aber das war evtl. zu einfach gedacht. ka.

Nicht dass ich jetzt umstelle und mir das Webcast anschaue und trotzdem mein Ziel eines einfaches Datenbankswitchs umfahre bzw. nicht mit klar komme weil es dann doch zu kompliziert ist 🙂 Da aktuell ja mein Projekt ja mit dem Framework 1.1 konzipiert ist. Hab mir jetzt erstmal aus der MSDN VS2005 installiert mal schauen.

Dankeschön 🙂^

Mal so ne Frage, gibts irgendwo ein Einführungstutorial für Webapplikationen in .NET 2.0 weil da sind ja einige Elemente dazugekommen, die ich von vorher nicht kannte?

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
402 Beiträge seit 2005
vor 18 Jahren

Hm, ich habe mir den WebCast mal angesehen (Werden da versteckte Signale mitgesendet? Meine Katze wollte meinen Rechner besteigen, während der Webcast lief 😁 ) und was da als umwerfend neustes genialsten Feature für o.a. Thema angepriesen wird, machen die Borland Data Provider jetzt schon. Da bin ich doch froh, dass ich Delphi 2005 als IDE benutze. So z.B. gehe ich per ConnectString einfach ohne Codeänderung auf eine PostgreSQL-DB:

hostname=localhost;assembly=CoreLab.Bdp.PostgreSql, Version=2.10.1.2000, Culture=neutral, PublicKeyToken=09af7300eec23701;database=mydb;provider=PostgreSQL;username=gibts;password=jou"

Genauso wie das Megafeature Metadaten der DB zu ermitteln. Für Borlandentwickler eine normal Sache, quasi ein alter Hut. Microsoft hat sich offensichtlich nicht umsonst bei Borland eingekauft und einige der Leute bei .NET bzw. C# mitentwickeln lassen!

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

F
10.010 Beiträge seit 2004
vor 18 Jahren

Es gibt auf den einschlägigen Webseiten wie
http://www.codeproject.com oder http://sourceforge.net einige DAL ( Data Abstraction Layer )
für .NET, die genau das machen was Du möchtest.

Auch solltest Du Dir mal einen wirklich einfach zu verstehenden ORMapper
anschauen, wie z.b. http://neo.codehaus.org

A
Azrael Masters Themenstarter:in
38 Beiträge seit 2005
vor 18 Jahren

Ok ich habe mein Projekt jetzt nach .NET 2.0 portiert und verwende die ProviderFactory. Aber wie bekomme ich den MySQL Provider hierrein? In .NET 1.1 habe ich die DLL von www.mysql.de eingebunden und bekam so den Namespace MySql.Data. Bei .NET 2.0 scheint aber diese Lösung nicht zu funktionieren da ich weiterhin nur den Access,Oracle,Mssql Provider angezeigt bekomme.

Wo liegt mein Fehler?

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
A
Azrael Masters Themenstarter:in
38 Beiträge seit 2005
vor 18 Jahren

Original von Azrael Masters
Ok ich habe mein Projekt jetzt nach .NET 2.0 portiert und verwende die ProviderFactory. Aber wie bekomme ich den MySQL Provider hierrein? In .NET 1.1 habe ich die DLL von
>
eingebunden und bekam so den Namespace MySql.Data. Bei .NET 2.0 scheint aber diese Lösung nicht zu funktionieren da ich weiterhin nur den Access,Oracle,Mssql Provider angezeigt bekomme.

Wo liegt mein Fehler?

Frage besteht immer noch, sry für doppelpost. Zugriff auf die Standardprovider funktionieren tadellos.

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
F
10.010 Beiträge seit 2004
vor 18 Jahren

Hast Du den Provider auch eingetragen?

Schon mal in die Hilfe geschaut?

A
Azrael Masters Themenstarter:in
38 Beiträge seit 2005
vor 18 Jahren

Original von FZelle
Hast Du den Provider auch eingetragen?

Schon mal in die Hilfe geschaut?

Wo muss man den dann noch zusätzlich eintragen? Die DLL ist eingebunden.
Oder meinst du den Eintrag in der Web.config, den habe ich auch gesetzt? Ich habe in der Onlinehilfe nachgesehen aber da werden nur die im Standardframework enthaltenen Provider gezeigt. Im Framework 1.1 hab ich ja auch schon mitgearbeitet da ging es ohne Probleme.

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
F
10.010 Beiträge seit 2004
vor 18 Jahren

Was hast Du in die Web.Config eingetragen?

A
Azrael Masters Themenstarter:in
38 Beiträge seit 2005
vor 18 Jahren
<connectionStrings>
<add name="ConnectionString" connectionString="Provider=MySQLProv;Data Source=localhost;Database=NextGenerationPlatform;user id=bmssa;password=bmssa_pwd;option=3”;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
F
10.010 Beiträge seit 2004
vor 18 Jahren

Und was soll das bringen?

Das ist lediglich ein String den Du selber da rauslesen kannst.

Für die Providerfactory müssen da andere Sachen eingetragen werden.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vsgenerics.asp

Und hier mal direkt von MS ein Crashkurs ADO.NET 2.0
http://download.microsoft.com/download/9/2/3/923d72fb-0076-49b6-96c4-aac1c255a60e/NET_Crashkurs_ADO.pdf