Autor Thema: Oracle ODBC Driver wird von 6.5.6 Notes Client nicht geladen  (Gelesen 4471 mal)

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Hallo Notes Experten,

ich habe seit längerem mal wieder ein Problem. Ich habe meine Notes Entwicklungsumgebung vor kurzem auf 6.5.6 umgestellt (nicht lachen, wir haben einige Kunden die noch alte Notes Versionen einsetzen und um kompatibel zu bleiben entwickeln wir dann auch auf den "alten Systemen").

In unserer Software haben wir Script-Agenten die Daten per ODBC aus einer relationalen Datenbank auslesen. Als relationale DB verwende ich eine Oracle 10g Express Edition. Beim Entwickeln teste ich lokal (Agent läuft lokal, ODBC Verbindung ist lokal installiert). Unter Notes 6.5.6 habe ich nun das Problem das ich beim Einlesen der Daten folgenden Fehler bekomme: "Aufgrund des Systemfehlers 1114 (Oracle in XE) konnte der angegebene Treiber nicht geladen werden."

Laut Aussage meines Kollegen trat der Fehler unter 6.5.5 noch nicht auf. Unter 5 hatte ich das Problem auch nicht (selbe Datenbank, selbe ODBC Verbindung). Wenn ich das ganze mit ner DB2 teste (also logischerweise dann mit ner anderen ODBC Verbinung) funktioniert es auch. Die Ursache liegt offensichtlich in der speziellen Notes Client Version. Meine Frage kennt jemand das Phänomen? Irgendein Lösungsansatz. Alle Ideen sind willkommen!

Grüße Baumi

Offline thomasP

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Re: Oracle ODBC Driver wird von 6.5.6 Notes Client nicht geladen
« Antwort #1 am: 13.11.08 - 16:16:37 »
Ich hatte in einem anderen Zusammenhang folgendes Problem:

Nach dem Update auf 6.5.6 CLient werden externe DLLs , die in LotusScript via declare genutzt werden nicht mehr gefunden, wenn PATH länger ist als 255 Zeichen.

Die DLL wird gefunden, wenn sie sich z.B. im Notes-Programm oder WINDOWS,WINDOWS\SYSTEM32 befindet.

Befindet sich die DLL z.B. in c:\DLL\meine.dll und der Pfad lautet z.B.
c:\windows;c:\windows\system32;.......;c:\DLL
kann die DLL nicht geladen werden, wenn der PATH>255 Zeichen.


Andere Notes-CLients 7.0.x, 8.0,6.5.x ( außer 6.5.6) auf der selben Maschine haen keine Probleme.


=====================
Evt. benutzt der ODBC-Treiber eine DLL, die im Notes-Kontext nicht geladen wird.

Functioniert der Treiber außerhalb von Notes, z.B. MS-Query oder MS-Access als CLient ?

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Re: Oracle ODBC Driver wird von 6.5.6 Notes Client nicht geladen
« Antwort #2 am: 13.11.08 - 16:37:25 »
Hallo Thomas,

danke erstmal für die schnelle Antwort. Also um die ODBC Verbindung aus Notes heraus zu benutzen, binde ich die entsprechenden Klassen per Uselsx "*LSXODBC" ein. Ich gebe also nirgendwo den Pfad auf die DLL des ODBC Drivers an. Wie Notes die Verbindung zu dem Treiber herstellt, weiß ich leider auch nicht, aber das ist ja auch vermutlich das Problem. Die DLL liegt zur Zeit im Oracle Verzeichnis. Wenn man unter Windows (Verwaltung -> ODBC Datenquelle) einen Verbindungstest macht funktioniert dies. Es funktioniert also nur aus Notes nicht.

 

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Re: Oracle ODBC Driver wird von 6.5.6 Notes Client nicht geladen
« Antwort #3 am: 13.11.08 - 16:49:13 »
Okay jetzt hab ich es verstanden. Es ist genau so wie du beschrieben hast. Ich habe meine Windows PATH Variable jetzt angepasst (dort steht jetzt nur noch der Pfad auf die Oracle Installation drin) und der Import funktioniert einwandfrei. Die DLL wird nun scheinbar vom Client "erkannt". Bleibt natürlich die Frage nach einer Lösung, will ja nicht immer die Pfadvariable anpassen, bevor ich etwas unter Notes teste und die anderen Einträge haben ja auch alle ihre Berechtigung.

Offline baumi78

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Ich liebe dieses Forum!
Re: Oracle ODBC Driver wird von 6.5.6 Notes Client nicht geladen
« Antwort #4 am: 13.11.08 - 17:25:07 »
Etwas verwirrend für mich ist noch, das der Import aus einer DB2 Datenbank funktioniert. Wo ist da der Unterschied. Die DLL des DB2 Datenbanktreibers liegt auch im Installationsverzeichnis der DB2. Und der Eintrag ist in der ("zu langen") PATH Variable. Warum wird die DLL des DB2 Drivers gefunden und die Oracle DLL nicht? Hm seltsam.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz