tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
2466
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    XChris XChris ist offline Mitglied Brokat
    Registriert seit
    Sep 2003
    Ort
    Weimar
    Beiträge
    373
    Hallo,

    ich habe eine Anwendung geschrieben. Diese Funktioniert auf Rechnern mit Entwicklung wunderprächtig. (XP, Framework 1.1)

    Nun hab ich einen Win2000 Rechner folgendes getan:
    Framework drauf (1.1) und OracleClient drauf. Mit einem kleinem C# Testproggi kann erreich ich auch die DB.

    Mein eigentliches Programm läd dynamsich Assembly nach und macht nun folgendes:

    LOG:
    <code>

    2005-11-24 17:13:47,000 [121960] ERROR Extension_1 [] - Es kann keine Verbindung zur zentralen Datenbank hergestellt werden.
    Exception: de.ongeo.lora.appCore.exceptions.DBConnector.NetDBConnectorLoginException
    Message: Eine Ausnahme vom Typ de.ongeo.lora.appCore.exceptions.DBConnector.NetDBConnectorLoginException wurde ausgelöst.
    Source: dataCore
    at de.ongeo.lora.dataCore.internal.ServiceConnector..ctor()
    at de.ongeo.lora.dataCore.internal.ServiceConnector.getServiceConnector()
    at de.ongeo.lora.dataCore.internal.InitDataCore.Init()
    at OnGeo.Extension.MailListenerExtension.StartLokalConfig() in C:LORAChristian_viewongeo_loraServerExtensionMailListenerExtension.vb:line 266

    Nested Exception

    Exception: de.ongeo.lora.appCore.exceptions.DBConnector.ConnectionFailedException
    Message:
    Source: dataDBConnector
    at de.ongeo.lora.dataDBConnector.internal.OracleConnector.connect() in C:LORAChristian_viewongeo_loradataDBConnectorinternal.vb:line 218
    at de.ongeo.lora.dataDBConnector.internal.BasisConnector.login(String connectionstring) in C:LORAChristian_viewongeo_loradataDBConnectorinternal.vb:line 54
    at de.ongeo.lora.dataCore.internal.ServiceConnector..ctor()

    Nested Exception

    Exception: System.Exception
    Message: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
    Source: System.Data.OracleClient
    at System.Data.OracleClient.DBObjectPool.GetObject(Object owningObject, Boolean& isInTransaction)
    at System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, OracleConnection owningObject, Boolean& isInTransaction)
    at System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact)
    at System.Data.OracleClient.OracleConnection.Open()
    at de.ongeo.lora.dataDBConnector.internal.OracleConnector.open() in C:LORAChristian_viewongeo_loradataDBConnectorinternal.vb:line 705
    at de.ongeo.lora.dataDBConnector.internal.OracleConnector.connect() in C:LORAChristian_viewongeo_loradataDBConnectorinternal.vb:line 214



    2005-11-24 17:13:47,015 [121960] INFO Extension_1 [] - --- START der Extension Base ---
    <code>

    Meine Vermutung ist, dass er die System.Data.OracleClient.dll nicht sauber läd. Denn im Ausgabeverzeichniss ist sie nicht (trotz lokaler Kopie eingeschaltet) und mein anderes Proggi, was ähnlich funktioniert funktioniert. Wenn ich die Datei einfach in das Verzeichniss lege, klappt es auch nicht ...

    Irgendwer nen Schimmer, wie man noch vorgehen könnte?

    Chris
     

  2. #2
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Moin XChris!

    Was passiert denn in den angegebenen Zeilen?
    Allein die Exception Messages bringen uns kaum weiter.
    Exception: System.Exception Message: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
    Kann es sein das deine Oracle Version älter ist als es das Framework erwartet?
    In der Exception steht, daß sie nicht älter als 8.1.7 sein darf.

    MfG, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  3. #3
    XChris XChris ist offline Mitglied Brokat
    Registriert seit
    Sep 2003
    Ort
    Weimar
    Beiträge
    373
    Also:

    Ich habe einen Dienst geschrieben. Dieser läd dynamisch beliebige Assemblys nach - die einem besonderem Interface entsprechen. Diese Assembly werden zyklisch immer wieder ausgeführt.

    Eins dieser Assemblys braucht ne Datenbank ... Aufbau wie folgt - Datenbankschicht:

    Interface für den Zugriff
    Abstrakte Klasse (IDBConnection usw ....)
    Konkrete Klasse (Oracle Client ...)

    Es passiert also folgendes:
    1. Start des Server
    2. Durchforsten eines Verzeichnissen nach DLL.
    3. Laden der DLL - wenn diese dem Interface entsprechen, dann ausführen
    ..
    3.1. Laden der Datenschicht


    Ein benutzt die selbe DB Schicht - ist aber ne normale Applikation. Es hat nur einen Knopf und nen Feld für nen Connection String und eine Ampel. Ist die Ampel GRÜN - besteht eine Connection. UND DAS GEHT ...

    Ich vermute, dass durch das dynamische Laden der "Erweiterung" die DLL: System.Data.OracleClient nicht mitgeladen wurde ... warum auch immer.


    Chris
     

  4. #4
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    UND DAS GEHT ...
    Willst mir jetzt damit sagen das der Server schon eine Verbindung zu der DB aufgebaut hat?
    Wofür brachst dann die DLL? Übergib der DLL in dem Fall doch die bestehende Connection.
    Oder übergib der DLL den ConnectionString und sie connected dann für den Server.

    Desweiteren hab ich noch nichts mit Oracle gemacht.
    Kann sich ja mal jemand melden der sich damit eher auskennt.

    MfG, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  5. #5
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Also, 2 Punkte:

    1. Sind die Oracle Client-Tools auch tatsächlich auf der entsprechenden Maschine installiert? Ohne die würde nämlich auch nicht funktionieren.

    2. Zeig mal wie du deine Assemblies ladest .. btw. könntest dir ja ein Log-File mitschreiben, dann würdest sehr einfach rausfinden, ob es beim Laden der Assemblies Probleme gibt oder nicht. Log-Files sind sowieso immer eine gute Idee ...
     

  6. #6
    XChris XChris ist offline Mitglied Brokat
    Registriert seit
    Sep 2003
    Ort
    Weimar
    Beiträge
    373
    Zitat Zitat von cosmochaosmaker
    Willst mir jetzt damit sagen das der Server schon eine Verbindung zu der DB aufgebaut hat?
    Nein
    Ein kleines alleinstehendes Programm, dass die SELBE DLL für die Datenverbindung nutzt funktioniert. Es hat nichts mit meinem eigentlichen Programm zu tun - beweist jedoch, dass die DLL geht. Der Unterschied ist, dass die Oracle DLL HIER über eine andere DLL direkt gelinkt wird (Projektverweis).
    Bei meinem ECHTEM Programm, wird eine DLL dynamsich geladen und ruft wiederum den oracle Mist auf.

    Wofür brachst dann die DLL? Übergib der DLL in dem Fall doch die bestehende Connection.
    Oder übergib der DLL den ConnectionString und sie connected dann für den Server.
    Es geht nicht um Oralce. Es geht eigentlich darum, dass ich ein Assymbly dynamsich lade, welches weitere DLL benötigt. Ich hab die als lokale Kopie mitgegeben und auch als Porgammverweis ... alles mögliche hab ich schon ausprobiert.

    Chris
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 15.06.10, 18:44
  2. laden von Images von einer URL
    Von bootscreen im Forum .NET Grafik und Sound
    Antworten: 5
    Letzter Beitrag: 16.08.07, 22:22
  3. Laden einer Form
    Von Toppa80 im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 08.07.07, 13:01
  4. Antworten: 1
    Letzter Beitrag: 17.12.05, 12:51
  5. [MX] Laden einer XML-Datei
    Von fungo im Forum Flash Plattform
    Antworten: 12
    Letzter Beitrag: 20.05.03, 17:37