Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Keine Verbindung zu Remote-Oracle-DB von einer Linux fbc-web CGI (https://www.delphipraxis.net/190475-keine-verbindung-zu-remote-oracle-db-von-einer-linux-fbc-web-cgi.html)

Jumpy 7. Okt 2016 11:09

Keine Verbindung zu Remote-Oracle-DB von einer Linux fbc-web CGI
 
Hallo,

ich habe kaum Ahnung von Linux, Lazarus, FPC, soll da aber testweise eine CGI erstellen, die in einem Apache auf einer Linux-Machine laufen soll.

Dabei habe ich das Problem, dass ich innerhalb der Web-CGI Fehlermeldungen bekomme, wenn ich versuche auf die Oracle-DB zu connecten. Innerhalb einer GUI-Anwendung funktioniert es aber.

Die genauen Details nenne ich in einem Crosspost im Lazarus-Forum!

Ich hab das trotzdem mal hier eingestellt, da ich irgendwo eher ein Linux-Rechte-Problem vermute, als ein Lazarus/FPC-Problem und hier treibt sich ja der ein oder andere Linux-Kenner rum. Abgesehen davon, dass ich mich auch sonst eher hier rumtreibe :).

@Mods: Sollte das eher in Betriebssysteme? Oder Lazarus? Dann bitte verschieben. Danke.

Jumpy 10. Okt 2016 06:37

AW: Keine Verbindung zu Remote-Oracle-DB von einer Linux fbc-web CGI
 
Bin mal so frei: Push :-D

nahpets 10. Okt 2016 10:37

AW: Keine Verbindung zu Remote-Oracle-DB von einer Linux fbc-web CGI
 
Naja, von Linux hab' ich keine Ahnung.

Hatte aber schonmal unter Windows mit CGI-Programmen (leichten) Ärger.

Da ein CGI-Programm ja letztlich ein Konsolenprogramm ist, das von StdIn liest und nach StdOut schreibt, kann man es (unter Windows) auch auf von der Kommandozeile starten.

Wenn man nun in dem Konsolenprogramm für eine Fehlerausgabe sorgt, kann man die ja auf dem Bildschirm mitlesen (oder in 'ne Datei umleiten).

Die Frage ist also: Tritt der von Dir beschrieben Fehler auch auf, wenn Du Dein Programm von der Kommandozeile aufrufst. Wenn ja, liegt der Fehler im Umfeld des Programmes. Tritt der Fehler nicht auf, dann klappt irgendetwas in der Kombination Webserver <-> CGI-Programm nicht. Es könnte dann ein Konfigurationsproblem ... sein.

Was ich nicht weiß ist, inwieweit diese (rudimentäre) Testweise von Windows auf Linux übertragbar ist.

Aber eventuell ist's ja 'nen Versuch wert.

jobo 10. Okt 2016 15:40

AW: Keine Verbindung zu Remote-Oracle-DB von einer Linux fbc-web CGI
 
Ich hab in der Ecke auch keine Ahnung, sind wir also zu dritt. :)
Aber wenn es "in einer GUI läuft" (was immer das auch im Detail bedeutet), könnte es an den Environment Variablen liegen, also path, ORACLE_irgendwas Variablen usw. usf.
Mach eine Shell auf und liste die Variablen aus, in der Kommandozeile und aus der GUI raus. Oracle Libs Settings, Path Variablen usw. mag Oracle, die müssen auf irgendwas brauchbares zeigen, also ORACLE_HOME usw. bzw. vergleiche die Listings.
Eine 2. Ecke können file oder group Rechte sein, die nicht passen, je nachdem, welcher User das aufruft.

Jumpy 11. Okt 2016 12:25

AW: Keine Verbindung zu Remote-Oracle-DB von einer Linux fbc-web CGI
 
Ein Kollege der sich mit Linux etwas besser auskennt hat es nun hinbekommen, wobei er auch sehr lange gebraucht hat und im Prinzip hat jobo da den richtigen Riecher.
Der Apache-Server läuft unter keinem klassichen User, sondern sowas wie einem Sysdtem-User. Dementsprechend sind seine Environment-Variablen da an ganz anderen Stellen zu setzen.
Es gab eine erste "dirtty" Lösung, indem die Libraries und TNSNamesOra usw. einfach in ein bestimmtes Verzeichnis kopiert wurden, das die Anwendung im Apache-Kontext sehen und durchsuchen konnte.
Später dann hat er eine Methode gefunden, die Environment-Variablen usw. so zu setzen, dass diese Quick&Dirty-Lösung wieder rückgängig gemacht werden konnte und die Libraries nun an der ursprünglichen Stelle gefunden und auch geladen werden können.

Die genauen Details, werde ich morgen unter dem CrossPost noch mal veröffentlichen, wenn ich die genauen Details, was der Kollege gemacht hat, verstanden habe.

Danke allen mit Unwissenden für die Beteiligung :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz