Beckerman2609 Geschrieben 7. Oktober 2009 Geschrieben 7. Oktober 2009 Guten Tag zusammen, ich programmiere derzeit mit einem Mobilen Gerät auf welchem Windows CE installiert ist. Meine Aufgabe ist es nun eine Verbindung zu einer Oracle-Datenbank herzustellen. Bisher ist es mir gelungen eine Verbindung zu einer SQL Server-Datenbank herzustellen. Dies funktioniert mittels "using System.Data.SqlServerCE". Damit steht mir die Klasse "SqlConnection" zu verfügung. Mit dieser kann ich jedoch nur eine Verbindung zu einer SQL Server-Datenbank herstellen, nicht aber zu Oracle. Versuche ich den Namespace "System.Data.OracleClient" einzufügen ist es möglich die Klasse "OracleConnection" aufzurufen. Mit dieser Klasse ist es theoretisch möglich eine Verbindung herzustellen. Baue ich jedoch die Klasse im Quellcode ein bekomme ich folgende Fehlermeldung: Der Typ "System.Data.Common.DbConnection" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" hinzu. Habe schon versucht verschiedene Assemblies einzufügen um irgendwie auf eine Oracle-Verbindungsklasse zugreifen zu können. Habe auch schon nach der in der Fehlermeldung genannten Assembly gegoogelt, jedoch ohne brauchbare Ergebnisse. Meine Frage ist nun ob jemand dieses Problem kennt, am besten auch eine Lösung. Ich bin mir langsam nicht mehr sicher, ob es vielleicht überhaupt nicht möglich ist mit diesem mobilen Betriebssystem auf eine Oracle-Datenbank zugreifen zu können. Schonmal Danke im Vorraus für etwaige Mühen Zitieren
TDM Geschrieben 7. Oktober 2009 Geschrieben 7. Oktober 2009 Der Typ "System.Data.Common.DbConnection" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" hinzu. Habe schon versucht verschiedene Assemblies einzufügen um irgendwie auf eine Oracle-Verbindungsklasse zugreifen zu können. Welche denn? Normalerweise würde System.Data reichen. Meine Frage ist nun ob jemand dieses Problem kennt, am besten auch eine Lösung. Ich bin mir langsam nicht mehr sicher, ob es vielleicht überhaupt nicht möglich ist mit diesem mobilen Betriebssystem auf eine Oracle-Datenbank zugreifen zu können. Das Problem kenn ich zur genüge. Du bindest eine Datenbankverbindung eines externen Entwicklers ein und brauchst trotzdem die System.Data-Dll, weil dort die Interfaces etc. definiert sind. Zum Glück ist lt. MSDN eine Datenbankverbindung unter Windows CE möglich. Auf die OracleConnection hätte ich aber eher verzichtet, OleDB macht das gut genug (ok, ich weiß nicht, was du alles aus der Datenbank brauchst, oracle-spezifische Sachen gehen natürlich nicht). Zitieren
Beckerman2609 Geschrieben 7. Oktober 2009 Autor Geschrieben 7. Oktober 2009 Ich habe schon auf einem Desktop-Pc ein Programm geschrieben, welches auf die Oracle-Datenbank zugreifen kann. Ich habe die "Data.SqlServerCe.dll" aus verschiedenen Ordnern versucht zu importieren. Diese gibt es bei mir in zwei Versionen: C:\Programme\Microsoft Visual Studio 8\SmartDevice\SDK\SQL Server\Mobile\v2.0 und C:\Programme\Microsoft Visual Studio 8\SmartDevice\SDK\SQL Server\Mobile\v3.0 Aber da es die SQLConnection ja scheinbar nur für SQL Server funktioniert bin ich mir nicht sicher, ob dies die richtige Herangehensweise ist. Kann ich denn mit OleDb auch auf die Oracle-Datenbank zugreifen? Auch mit Windows CE? Zitieren
TDM Geschrieben 7. Oktober 2009 Geschrieben 7. Oktober 2009 Ich habe schon auf einem Desktop-Pc ein Programm geschrieben, welches auf die Oracle-Datenbank zugreifen kann. Ich habe die "Data.SqlServerCe.dll" aus verschiedenen Ordnern versucht zu importieren. Diese gibt es bei mir in zwei Versionen: C:\Programme\Microsoft Visual Studio 8\SmartDevice\SDK\SQL Server\Mobile\v2.0 und C:\Programme\Microsoft Visual Studio 8\SmartDevice\SDK\SQL Server\Mobile\v3.0 Aber da es die SQLConnection ja scheinbar nur für SQL Server funktioniert bin ich mir nicht sicher, ob dies die richtige Herangehensweise ist. Die Datei C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0\System.Data.Common.dll ist eingebunden, oder? Ansonsten könnte man es auch mal mit der Datei C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v1.0\WindowsCE\System.Data.dll probieren. (Wäre nach meiner Ansicht jedenfalls sinnvoller). Es geht ja eigentlich nur darum, dass er die benötigte DLL nicht findet, und dann würde ich einfach eine Reference auf System.Data hinzufügen, sollte in CE genauso einfach gehen, wie normal (also ohne spezifischen Pfad). Kann ich denn mit OleDb auch auf die Oracle-Datenbank zugreifen? Auch mit Windows CE? Ob das so einfach ist, weiß ich nicht, in Bezug auf den Klammerinhalt meines letzten Posts hab ich jedenfalls diesen Artikel gefunden: Artikel In wie weit man also dafür (doch) noch einen extra Treiber braucht - keine Ahnung. Zitieren
Hexy Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 Hallo, wollte mal vorsichtig nachfragen, ob denn mittlerweile eine Lösung für dieses Problem gefunden wurde. Ich stehe grade vor dem selben Problem (benötige Oracle Verbindung unter Windows CE 5.0) und finde leider nur unbeantwortete Threads Liebe Grüße, Hexy Zitieren
Beckerman2609 Geschrieben 3. November 2009 Autor Geschrieben 3. November 2009 Hallo zurück, habe auch eine Zeit lang nicht mehr an diesem Projekt gearbeitet. Doch nun bin auch ich wieder zu diesem Problem zurück gekommen. Habe leider noch keine Lösung gefunden. Derzeit versuche ich mich über Windows CE 6.0 zu informieren. Vielleicht funktioniert das ja damit. Kann da vielleicht jemand etwas zu sagen? Derzeit habe ich auch nur mit dem Visual Studio 2005 gearbeitet. Ich habe aber auch die Möglichkeit die 2008 Version einzusetzen. Glaube zwar nicht, dass das daran liegt, aber ich denke ich werde es mal versuchen. Des weiteren sieht es eher schlecht aus... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.