Firebird Connect nicht möglich

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

  • Firebird Connect nicht möglich

    Hallo zusammen!

    Ich möchte über PHP auf eine Firebird/Interbase Datenbank zugreifen.

    Dafür habe ich einen Firebird Version 1.5 Server laufen (Port 23050) parallel läuft ein Firebird 2.5 (Port 23053) auf meinem localhost.
    gds32.dll und fbclient.dll sind vorhanden. Ein Datenbankzugriff über z.B. IBAdmin oder IBStudio funktioniert.
    Die Datenbankdatei (erstellt für Firebird 1.5) liegt in C:\xampp\db\FEG.gdb

    Die PHP.ini habe ich so konfiguriert:
    Code:
    extension=php_interbase.dll
    
    [Interbase]
    ; Allow or prevent persistent links.
    ibase.allow_persistent = 1
    
    ; Maximum number of persistent links.  -1 means no limit.
    ibase.max_persistent = -1
    
    ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
    ibase.max_links = -1
    
    ; Default database name for ibase_connect().
    ;ibase.default_db =
    
    ; Default username for ibase_connect().
    ;ibase.default_user =
    
    ; Default password for ibase_connect().
    ;ibase.default_password =
    
    ; Default charset for ibase_connect().
    ;ibase.default_charset =
    
    ; Default timestamp format.
    ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
    
    ; Default date format.
    ibase.dateformat = "%Y-%m-%d"
    
    ; Default time format.
    ibase.timeformat = "%H:%M:%S"
    Anschließend habe ich mit folgendem PHP-Code versucht eine Verbindung zu meiner Datenbank aufzubauen:

    PHP-Code:
    $host "localhost/23050:C:\xampp\db\FEG.gdb";
    $username "SYSDBA";
    $password "masterkey";

    $dbh ibase_connect($host$username$password);
    $stmt 'SELECT * FROM FegUser';
    $sth ibase_query($dbh$stmt);
    while (
    $row ibase_fetch_object($sth)) {
        echo 
    $row->ID"\n";
    }
    ibase_free_result($sth);
    ibase_close($dbh); 
    Die Web-Seite bringt daraufhin folgende Fehlermeldungen:

    Warning: ibase_connect() [function.ibase-connect]: I/O error for file "@2" Error while trying to open file Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch. in C:\xampp\htdocs\Login.php on line 42

    Warning: ibase_query() [function.ibase-query]: invalid database handle (no active connection) in C:\xampp\htdocs\Login.php on line 44

    Warning: ibase_fetch_object() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 45

    Warning: ibase_free_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 48

    Warning: ibase_close() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 49
    Die 2te bis Xte Meldung ist auf die Fehlende Verbindung zurückzuführen, denn er scheint gar keine Verbindung aufmachen zu können.

    Alterntive schreibweisen für den Host habe ich auch schon Probiert:
    Code:
    127.0.0.1 und localhost, Port angeben und Port weglassen, Pfad
    UNC Pfad ohne Port
    ..\db\FEG.gdb
    usw.
    Leider alles ohne erfolg. Ich hoffe ihr könnt mir weiterhelfen

    Danke!
    Jazzman
    Zuletzt geändert von AmicaNoctis; 10.11.2011, 18:11. Grund: überlangen Code-Block geändert

  • #2
    Hallo,

    wenn du Backslashes in PHP-Strings schreibst, musst du sie escapen, also doppelt hinschreiben. Ob es allein daran liegt, weiß ich nicht, aber \xa (wie in C:\xampp) erzeugt auf jeden Fall einen Zeilenumbruch.

    Edit: Bitte Fehlermeldungen nicht als [CODE] sondern als [QUOTE] posten, sonst wird das zu breit und man muss horizontal scrollen.

    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 die schnelle Antwort. Die konnte mein Problem leider nicht lösen.
      Habe meinen Firebird deinstalliert und auf dem Standardport (3050) Installiert. Rechner neu gestartet und siehe da, es hat geklappt.
      Verbindung steht, Abfrage läuft durch.

      mfg Jazzman

      Kommentar


      • #4
        Zitat von Jazzman Beitrag anzeigen
        Die konnte mein Problem leider nicht lösen.
        Habe meinen Firebird deinstalliert und auf dem Standardport (3050) Installiert. Rechner neu gestartet und siehe da, es hat geklappt.
        Und durch das Neustarten wurde ein ungültiger Dateipfad plötzlich gültig und der Zeilenumbruch darin stört niemanden mehr? Tja, dann konnte ich wohl leider nicht helfen
        [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