odbc_connect Zugriff auf ADS Datenbank Datei

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

  • odbc_connect Zugriff auf ADS Datenbank Datei

    Hallo,

    ich habe einen Windows Server mit Apache laufen - habe dort ODBC Treiber installiert und kann mit dem Advanced Data Architect wunderbar auf einem anderen Server ein ADS Datenbankfile öffnen.

    Jetzt wollte ich per PHP eine odbc Verbindung zu dem Datenbankfile auf dem anderen Server herstellen. Das Datenbankfile ist per Laufwerksbuchstabe zu erreichen - da es damit Probleme geben kann (laut php.de Comments) habe ich die \\Server1\...file.add Schreibweise probiert. Beides klappt leider nicht.

    Da der Zugriff per DataArchitect klappt muss der Wurm im connect String sein.

    PHP-Code:
        $db_host        '\\Server1\......\......\DATENBANKFILE.ADD';
        
    $db_user        'Username';
        
    $db_pass        'MeinPasswort';
        
    $db_name        "";

        
    $dsn =         "DRIVER={Advantage StreamlineSQL ODBC};" .
                       
    "CommLinks=tcpip(Host=$db_host);" .
                        
    "DatabaseName=$db_name;" .
                       
    "uid=$db_user; pwd=$db_pass";
        
    $conn odbc_connect($dsn$db_user$db_pass); 
    Was mir so ein wenig komisch vorkommt ist der Teil mit CommLinks=tcpip( ... kann es sein dass der Teil anders heissen muss wenn man auf eine Datenbankdatei auf einem anderen Server zugreifen will ?

    Ich habe auch schon mit datasource= rumexperimentiert, aber ich kriege immer ein "SQL error: [iAnywhere Solutions][Advantage ODBC Driver]Unable to connect, SQL state 08001 in SQLConnect in ....."

    Leider habe ich nichts informatives gefunden.

    Gruß
    Zuletzt geändert von WiZARD; 13.08.2010, 10:01.

  • #2
    Hallo,

    da der Backslash in Strings ein Escape-Zeichen ist, musst du ihn selbst auch escapen, indem du jeden davon doppelt notierst: \\\\freigabe\\pfad…\\datei.add

    Wenn du über Systemsteuerung / Verwaltung / Datenquellen einen DSN einrichtest, kannst du dir in PHP das Leben etwas leichter machen und musst nur noch den DSN angeben.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hallo,

      danke für Deine Antwort.

      Ich hatte einen System-DSN eingerichtet. Dort habe ich das Datafile ja schon als Source angegeben.
      Als Host habe ich den namen vom System-DSN gerade angegeben (anstatt den Pfad) ohne den ganzen Rattenschwanz.

      Der Connect funktioniert (fast).

      The Advantage server version is older than the Advantage client version. The Advantage server must be the same version or newer than the Advantage client. The server is older than the client.,
      Beim Dataarchitect habe ich einfach die Version 10.0 gegen die 8.1 getauscht. Nur in php was tausche ich da denn aus, damit ich keine Versionsprobleme kriege ? Den Server kann ich definitiv nicht einfach updaten ... Für den Apachen habe ich eine Xampp Windows Version im Intranet laufen.
      Zuletzt geändert von WiZARD; 13.08.2010, 10:38.

      Kommentar


      • #4
        Mit PHP hat das gar nichts zu tun und die Fehlermeldung sagt eigentlich alles. Wenn du den Server nicht updaten kannst, musst du den Client „downdaten“.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Der Client ist doch in diesem Fall die PHP Anwendung oder habe ich da einen Denkfehler ?

          Ich schau gleich mal wegen des System-DSN´s - den Treiber davon downdaten ?

          Kommentar


          • #6
            Zitat von WiZARD Beitrag anzeigen
            Der Client ist doch in diesem Fall die PHP Anwendung oder habe ich da einen Denkfehler ?
            Naja, in gewisser Weise stimmt das auch wieder, aber ich meine den Treiber.

            Zitat von WiZARD Beitrag anzeigen
            Ich schau gleich mal wegen des System-DSN´s - den Treiber davon downdaten ?
            Genau.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar

            Lädt...
            X