AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Interbase-Zugriff über Netzlaufwerk
Thema durchsuchen
Ansicht
Themen-Optionen

Interbase-Zugriff über Netzlaufwerk

Ein Thema von Werwurm · begonnen am 27. Jul 2006 · letzter Beitrag vom 31. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
Werwurm

Registriert seit: 21. Apr 2003
Ort: Bremen
71 Beiträge
 
Delphi 2009 Professional
 
#1

Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 06:59
Datenbank: Interbase • Version: 6.5 • Zugriff über: IB Komponenten
Hallo,

In der letzten Zeit habe ich zwei Projekte auf Basis einer lokalen Interbase-Datenbank geschrieben.
Nun habe ich mir zusätzlich noch ein Notebook gegönnt, das ich ebenfalls mit Delphi und Interbase betankt habe.
Um zum arbeiten eine einheitliche Datenbasis habe, möchte ich diese DB's für meine zwei WinXP-Rechner zentral ablegen.
Ich habe eine NAS-Festplatte, welche ich auf beiden Clients als Netzlaufwerk eingebunden habe. Dort ist die GDB Datei abgelegt.
Wenn ich der IB-Database nun das Netzlaufwerk als Pfad ("X:\DB\db.gdb") zuweise bekomme ich den Fehler, das sich die Datei nicht öffnen lässt.

Und kommt meine blöde Frage:
Ist diese Art von Zugriff überhaupt möglich?
Oder mache ich nur etwas falsch?
Wenn ja, was???
Gruß
Marcus
  Mit Zitat antworten Zitat
ProgiKid

Registriert seit: 26. Jul 2006
4 Beiträge
 
#2

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 07:56
Hallo,

du kannst nur Verzeichnisse als Netzlaufwerk freigeben. Also c:\temp als x: zum Beispiel. Ich habe bisher auch nur erfahrungen mit sql und mysql. Die Db kann ja ruhig auf einem (deinem alten Rechner liegen), du muss nur die Datenbank so einrichten, dass man über die Schnittstelle der Datenbank auf die Daten zugreifen kann. Dies kann manchmal nen bissl tricky sein (gerade unter Linux hatte ich da so meine Probleme, musst jokers in die Usertabelle eintragen und so ein gedöns) aber da hilft google schon nen bischen weiter. Aber bei den meisten Windows dbs ist es schon so ohne weiteres möglich.
Einfach dann im Client des geweiligen Zielrechner die Connect-Daten des db-servers angeben und ab gehts.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 08:11
Normalerweise erlaubt es IB nicht Datenbanken, die auf Netzlaufwerken liegen zu verwenden. Wir das Laufwerk als loakles Laufwerk erkannt oder als Netzlaufwerk? Welches Filesystem (NTFS)? Rechte auf Datei?
Markus Kinzler
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#4

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 09:00
Hallo!

Wenn ich Dich richtig verstehe, dann willst Du auf ein und dieselbe Datenbank mittels mehrerer Interbase-Server zugreifen.
Das ist nicht definiert und auch nicht möglich. Der Interbase/Firebird macht die Datenbankdatei exclusiv auf. Wie sonst sollten auch die Datenbankzugriffe sinnvoll verwaltet werden, wenn da mehrere DB-Server zugleich drauf rumhünern.

Zu der Ablage der Datei auf dem NAS:
- Dies ist eigentlich garnicht möglich. Hast Du es irgendwie geschafft, das NAS als lokales Laufwerk in das BS zu integrieren?
Man sollte die GDB auf keinen Fall so auslagern, da man den Interbase/Firebird selbst damit sabotiert (z.B. durch die gecacheten Zugriffe).

Also: Datenbank auf ein lokales Laufwerk des Datenbankservers und dann von allen clients aus connecten.

Gruß

onlinekater
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Werwurm

Registriert seit: 21. Apr 2003
Ort: Bremen
71 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 11:27
Hallo,

schon mal Vielen dank für die vielen schnellen Rückmeldungen.
Nochmals als Erläuterung.

Zitat:
Der Interbase/Firebird macht die Datenbankdatei exclusiv auf. Wie sonst sollten auch die Datenbankzugriffe sinnvoll verwaltet werden, wenn da mehrere DB-Server zugleich drauf rumhünern.
Ich habe eine USB-Platte über mein DSL-Router im Netzwerk eingebunden.
Nun möchte ich entweder mit dem einem oder anderen Rechner auf die DB zugreifen.
Niemals gleichzeitig!!
Da ich nicht immer beide Rechner laufen haben möchte, stellt sich die Frage wo ich die DB lagern soll.

Zitat:
Wir das Laufwerk als loakles Laufwerk erkannt oder als Netzlaufwerk? Welches Filesystem (NTFS)? Rechte auf Datei?
Die Platte wird als Netzlaufwerk erkannt. Das Dateisystem ist NTFS. Die Rechte sind XP Standard (also Vollzugriff für jeden).

Aber ich glaube, das ich vielleicht zu naiv an die Sache ran gegangen bin.
Gibt es eventuell andere DB's die man für diesen Fall nutzen könnte??
Gruß
Marcus
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 11:35
Halli Hallo,

wir verwenden hier eine Firebird-Datenbank (was ja nicht sooo unterschiedlich ist) und verbinden uns nicht über ein Netzwerklaufwerk sondern über den lokalen Pfad auf dem Server, dem der Rechnername vorangestellt wurde.

Beispiel:

Auf dem Server "DATA" liegt die Datenbank hier: "d:\daten\datenbank.gdb"

Dann verbinden sich die Clients mit "DATA:d:\daten\datenbank.gdb"

Das geht auch mit IP-Adressen: "192.168.1.55:d:\daten\datenbank.gdb"

Soweit ich weiss ist das die Methode mit der Interbase/Firebird auf Netzwerk-Datenbanken zugreifen, wobei ich bei Interbase mit der 5er-Version aufgehört habe und auf Firebird umgestiegen bin. Sollte aber unter der 6er-Interbase auch noch gehen.

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#7

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 12:01
Also definitiv:
Interbase/Firebird können unter Windows nicht mit Datenbanken auf Netzlaufwerken arbeiten, es müssen lokale Platten sein.

Du mußt einen Deiner Rechner als DB-Server bestimmen und diesen dann eben auch von dem anderen aus ansprechen.
Verbinden kannst Du Dich dann mit der Datenbank wie von Alfi001 beschrieben.
Ansonsten bleibt Dir nichts anderes übrig, als die Datenbank jeweils auf den anderen Rechner umsusetzen, wenn Du den Rechner wechselst.
Hierbei solltest Du beachten, daß Du entweder vor dem umkopieren/verschieben die DB-Server auf beiden Rechnern anhälst oder über gbak arbeitest, da Du Dir donst die Datenbank leicht zerschießen kannst.

Gruß

onlinekater

[Edit] Dreckfuhler [/Edit]
[Edit2] Den armen Alfi001 richtig benamselt [/Edit2]
Thomas Breitkreuz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 12:14
Zitat:
Also definitiv:
Interbase/Firebird können unter Windows nicht mit Datenbanken auf Netzlaufwerken arbeiten, es müssen lokale Platten sein.
Das stimmt nur bedingt FireBird bietet die Möglichkeit dies zu erlauben, durch setzten der Eigenschaft

RemoteFileOpenAbility = 1

in der firebird.conf
Markus Kinzler
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#9

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 12:28
Zitat von mkinzler:
Zitat:
Also definitiv:
Interbase/Firebird können unter Windows nicht mit Datenbanken auf Netzlaufwerken arbeiten, es müssen lokale Platten sein.
Das stimmt nur bedingt FireBird bietet die Möglichkeit dies zu erlauben, durch setzten der Eigenschaft

RemoteFileOpenAbility = 1

in der firebird.conf
stimmt, den Parameter gibt es. Allerdings ist er für posix gedacht.

Zitat von The Firebird Book, Page 751:
RemoteFileOpenAbility
Version 1.5 forward, POSIX only

CAUTION Use RemoteFileOpenAbility only with extreme caution

This is a Boolean parameter that, if set to True, allows the engine to open files that reside on a networked filesystem (NFS) mounted partition. It is intended to allow shadows on NFS drives that have high availability. It is not save for database files - except possibly a read-only database - because the filesystem is beyond the control of the local system. It should not be enabled for the purpose of opening any read/write database whose survival matters to you.
The default is 0 (False, disabled) and you should leave it that way unless you are very clear about its effects.
Dieser Parameter ist ursprünglich für eine Schattenkopie unter POSIX gedacht.
Man sollte ihn niemals für eine produktive Datenbank nutzen.

Gruß

onlinekater
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Interbase-Zugriff über Netzlaufwerk

  Alt 27. Jul 2006, 12:41
Zitat von onlinekater:
Also definitiv:
Interbase/Firebird können unter Windows nicht mit Datenbanken auf Netzlaufwerken arbeiten, es müssen lokale Platten sein.
Noch ein Nachtrag von mir:
Das ist auch relativ einfach zu erklären: Die Datenbank-Datei wird vom Server immer exklusiv geöffnet (es darf also nur ein Prozess drauf zugreifen). Den Zugriff von mehreren Benutzern regelt der Server intern. Wenn nun von verschiedenen Rechnern per Netzwerk-Laufwerk drauf zugegriffen wird so sind dies immer unterschiedliche Zugriffe. Beim Zugriff ist die Datenbank also gesperrt.

Über die Syntax "Rechnernamefad_auf_dem_Server" erkennt der Server, daß es eine Datenbank ist die er bereits selbst geöffnet hat und versucht nicht diese erneut als Datei zu öffnen sondern verwendet das bereits bestehende Dateihandle. (hat mir mal jemand erklärt der sich gut mit den Interna von Firebird auskennt)

Zitat von onlinekater:
Verbinden kannst Du Dich dann mit der Datenbank wie von Alhi001 beschrieben.
Alfi001, bitteschön! Nicht Alhi001!

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:07 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