Ankündigung

Einklappen
Keine Ankündigung bisher.

ODBC connect klappt nicht mit XAMPP

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ODBC connect klappt nicht mit XAMPP

    Hi,

    ich bin neu hier, programmiere aber seit ein paar Jahren gelegentlich mal etwas für die Arbeit.
    Im Augenblick möchte ich einen Zugriff auf unseren ADS-Datenbankserver programmieren, um damit Abfragen zu schreiben und zu exportieren.

    Über den Aufruf meiner Skripte per DOS-Konsole hat das bisher ohne Probleme geklappt. Ich bediene mich der PEAR-Klassen:
    [man]
    require_once ('DB.php');

    $dsn = 'odbc:///f991'; // DSN-Name

    $dbODBC = DB :: connect($dsn); // CONNECT herstellen

    if (true == DB :: isError($dbODBC))
    {
    die($dbODBC->getMessage());
    }
    else
    {
    echo "Connect erfolgreich";
    }
    [/man]

    Als Output erhalte ich: "DB Error: connect failed"

    Wenn ich es allerdings vom DOS-Fenster aus starte, geht es ohne Probleme und die Verbindung wird hergestellt:
    v:\XAMPP\php\php.exe" "index.php"

    Erst dachte ich, es liegt vielleicht daran, dass XAMPP als dienst läuft und ODBC nicht auf Benutzer-DSNs zugreifen kann und habe es als System-DSN angelegt.

    Ergebnis: Das Gleiche, von DOS gehts, aber im XAMPP nicht. Ich benötige aber die Integration der Funktionen in mein Firmenwebportal.

    Kennt einer von Euch Konfigurationen am XAMPP oder hat jemand von Euch schon mal diese Problematik gehabt?

    Vielen Dank für Eure Hilfe und Grüße

    Rentasad

    PS: Die Suche habe ich befragt, habe aber kein äquivalentes Problem gefunden.

  • #2
    [man]error_reporting[/man]

    Kommentar


    • #3
      Hallo Cycap,

      danke für den Hinweis mit dem Error-Reporting.

      Ich habe das Error-Reporting jetzt auf

      PHP-Code:
      error_reporting(E_ALL); 
      gesetzt, leider bringt er weiterhin keine aussagekräftigeren Fehler, sondern immer noch genau das Gleiche. Du hast mich aber auf die Idee gebracht, mal das ODBC-Objekt näher auszugeben und das hat das folgende Ergebnis gebracht:
      PHP-Code:
      print_r($dbODBC); 
      Auschnitt aus Output:
      [nativecode=HY000 [iAnywhere Solutions][Advantage SQL][ASA] Error 5185: Local server connections are restricted in this environment. See the 5185 error code documentation for details. axServerConnect]
      Dadurch bin ich auf den folgenden Link gestoßen:
      Advantage Database Architect über Remote Desktop � Das nie endende Chaos!
      Ich bin so frei und zitiere daraus:
      Wenn der Advantage Database Architect beim Öffnen einer Tabelle die Fehlermeldung "Error 5185: Local server connections are restricted in this environment. See the 5185 error code documentation for details. axServerConnect." bringt, dann muss nur eine Datei ADS.INI im Verzeichnis der Tabelle mit diesem Inhalt angelegt werden:
      [SETTINGS]
      MTIER_LOCAL_CONNECTIONS=1
      Allerdings hat diese Änderung bei mir leider nicht zum erwünschten Ergebnis geführt. Wenn jemand von Euch noch eine Idee hat, ich werde auch weitersuchen und die Lösung, so ich sie finde, hier veröffentlichen.

      Herzliche Grüße,

      Rentasad

      Kommentar


      • #4
        Hi,

        vermutlich habe ich ein Lizenzproblem:

        IMPORTANT
        Pursuant to iAnyWhere's licensing agreement, ... if an application is distributed to work without the Advantage Database Server (i.e., it uses the Advantage Local Server to access data), the application must act as a "client" that directly accesses and uses the data. To be specific, only computers that have the Advantage Local Server DLL loaded into memory can have access to the data that is obtained by that Advantage Local Server DLL. The application cannot act as "middleware" or as a "server" by having the data forwarded by any means to a separate computer. In other words, it is illegal to use the Advantage Local Server with a Web server, an application server, a terminal server, or any other type of middleware or server product to access data on behalf of remote computers. An Advantage Database Server (a.k.a. remote server) product must be purchased and used to allow this SOFTWARE PRODUCT to access data on behalf of applications running on remote computers.
        Allerdings ist das nicht ganz nachzuvollziehen. Man kauft sich doch einen Datenbankserver, um damit auch von anderen PCs drauf zuzugreifen. Mit unserem ERP-System klappt das ja auch ohne Probleme.

        Nun gut, es soll vielleicht nicht sein.

        Grüße,

        Rentasad

        Kommentar

        Lädt...
        X