Announcement

Collapse
No announcement yet.

I/O Error beim Zugriff auf eine Interbase-DB

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • I/O Error beim Zugriff auf eine Interbase-DB

    Hallo,

    beim Zugriff auf eine Interbase DB Version 6.1.06 erscheint nachfolgende Fehlermeldung, wenn mehr als ein Anwender versucht mit dem Delphi-Programm auf die Datenbank zuzugreifen. Ein Anwender zur Zeit kann mit der Datenbank arbeiten.

    I/O error for file „d:\daten\gdifibu\m_isb\GDI.GDB“
    Error while trying to open file
    Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

    Folgende Komponenten sind für den Zugriff auf die Interbase-DB verwendet worden.

    IBDatabase1, IBTransaction1, IBQuery1

    Der Name des Datenbank-Server = cuxgdi
    Zur Laufzeit wird dieser nachfolhend aufgebaut.
    IBDatabase1.DatabaseName:='cuxgdi:d:\daten\gdifibu \m_isb\GDI.gdb';

    Damit das DelphiPrg auf den die InterbaseDB zugegriffen werden kann, muß auf dem DB-Server der InterbaseServer/ Guardien Dienst laufen.
    Des weiteren läuft auf dem DB-Server auch noch der Firebird Server/Guardian -Dienst für eine andere Anwendung
    Frage :
    Was ist falsch bzw. was kann man anders machen damit die Anbindung an die Interbase-DB für mehrere User ermöglicht werden kann?

    Danke und Gruß
    Carsten

  • #2
    Hallo,

    generell sollte jede Anwendung explizit den Netzwerkzugriff auf die GDB-Datei anfordern, damit das Ganze auch in jedem Fall völlig Threadsicher bleibt:

    a) TCP/IP: <i>Servername</i>:\ib\employee.gdb <br>
    b) NetBEUI: \\<i>Servername</i>\D:\ib\employee.gd

    Comment


    • #3
      Hallo Carsten,
      <br><br>
      mich täte zunächst einmal interessieren, wie der Parallelbetrieb von InterBase und Firebird konfiguriert ist? Handelt es sich hierbei um Firebird 1.5 und verwenden die InterBase und die Firebird Installationen unterschiedliche Ports?
      <br><br>
      Die womöglich einzige plausible Antwort ist, dass entweder über den InterBase oder Firebird Server jemand auf diese Datenbank bereits verbunden ist, und der Zugriff über die andere InterBase/Firebird "Instanz" dann einfach fehlschlagen muss, weil dies ja bedeuten würde, dass auf die Datenbank über zwei unterschiedliche Serverprozesse zugegriffen werden soll.
      <br><br>
      Eine weitere Möglichkeit wäre natürlich auch noch, wenn Firebird 1.5 Embedded Server eingesetzt wird. Dieser setzt beim Connect auf die Datenbank eine exklusive Sperre und würde jeglichen Verbindungsversuch über eine reguläre InterBase/Firebird Installation unterbinden.
      <br><br>
      Schöne Grüße,
      <br>
      Thoma
      Thomas Steinmaurer

      Firebird Foundation Committee Member
      Upscene Productions - Database Tools for Developers
      Mein Blog

      Comment

      Working...
      X