AGB  ·  Datenschutz  ·  Impressum  







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

Interbase DB weitergeben

Ein Thema von Luckie · begonnen am 24. Jun 2002 · letzter Beitrag vom 24. Jun 2002
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Interbase DB weitergeben

  Alt 24. Jun 2002, 01:04
Hallo.

Ich habe mal für einen Bekannten ein Musik-Archiv programmiert für seine CD's. Es sollen so um die 20.000 Dtensätze rein. Ich habe dazu die BDE genommen und für jeden Titel ein Datensatz. Natürlich etwas blöd weil ja mehrere Titel auf der CD sind, dass heißt man hat dopplete Informationen für manche Datensätze. Günstiger wäre es zwei Tabellen zu nehmen eine für die CD's und eine für die Titel. Normalisieren wäre hier wohl das Stichwort. Aber das nur nebenbei.

Ich fürchte aber, dass die bei so vielen Datensätzen in die Knie geht, deswegen wollte ich sie nach Interbase umsetzten. Nun meine Frage, wie gebe ich eine Interbase Datenbank weiter? In Lemmy's Tutorial mußte man ja über das IBControlpanel den Pfad und den Benutzer angeben. Das ist natürlich nicht praktikabel, da ich ja nicht weiß, wo er sie hinkopiert. Also wie gebe ich sie weiter? Also ohne dass man einen Benutzer mit Passwort anlegen muß und wie gestallte ich den Pfad dynamisch.

Das möchte ich erstmal gerne wissen, bevor ich mich da dransetze.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 24. Jun 2002, 08:12
Hallo Luckie,

für den Zugriff auf die Interbase legst du ganz normal einen Alias über die BDE an. Den kannst du dann an das tatsächliche Verzeichnis beim Anwender anpassen. Du benutzt ein TDataBase Objekt und kannst dort über einen Doppelklick eine Listbox öffnen, in der du den Benutzernamne und das Paßwort eingeben kannst, um es dem Benutzer zu ersparen. Die Standardeinstellungen für die Beispieldatenbanken lauten:

USER NAME=SYSDBA
PASSWORD=masterkey

Weitere Details findest du auch im Tutorial von PaulJr.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Klabautermann

Registriert seit: 22. Jun 2002
Ort: Münster (NRW)
63 Beiträge
 
#3
  Alt 24. Jun 2002, 09:35
Hallo,
20.000 Datensätze finde ich noch nicht wirklich viel. Die würde ich sogar Paradox (ich denke das meinst du wenn du von der BDE sprichst) zutrauen.
Vorausgesetzt die Datenbank läuft im Single user Betrieb (bei mehr würde ich grundsätzlich auf Paradox und die BDE verzichten) und du verkneifst dir verschachtelte SELECTs.

Verstehe mich nicht falsch, prizipiell rate ich jeden von Paradox und BDE ab, nur deine begründung finde ich nicht passend. Mit Interbase habe ich noch nicht gearbeitet.

Gruß
Klabautermann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4
  Alt 24. Jun 2002, 09:48
Danke für deine Meinung Klabautermann, wir werden sehen.

Aber das mit dem Weitergeben wird ja immer schlimmer. Jetzt soll ich nicht nur den Interbaseserver weitergeben, sondern auch noch die BDE . Gut in diesem Fall ist die BDE schon installiert, aber das kann man ja nicht immer voraussetzen.

Es muß doch eien Möglichkeit geben, dass ich dem den Inetrbaseserver geben die Exe der Datenbank, dann insatlliert er den Server, kopiertz die Exe und die Datenbank in ein Verzeichnis und legt los. Das hat auch einen Grund, weil ich nicht dabei sein kann. Ich schicke ihm das per E-Mail. Das Setup von Interbase sollte er noch hinbekommen, aber mehr traue ich ihm ehrlich gesagt nicht zu, sprich das alles einrichten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#5
  Alt 24. Jun 2002, 09:58
Hi Luckie,

einen BDE-Alias ist nicht wirklich toll - sonst musst Du ja wieder die BDE wietergeben und mit den BDE-Kompos auf die Datenbank zugreifen.

Wenn Du die IBX nimmst, dann gibt es 2 Möglichkeiten:
1. 2 Setups weitergeben: Einmal den Interbase-Server und zum anderen die eigentliche Anwendung.
2. 1 Setup: Den Interbase-Server einfach in das Setup integrieren. Dazu benötigst Du einen Installer der Programme ausführen kann (z.B. InnoSetup). Am Ende der eigentlichen Installation einfach die Installation des Servers aufrufen. Über Parameter kannst Du steuern (zumindest bei den MERS-Builts), was installiert werden soll, d.h. der Anwender muss keine Entscheidungen treffen.

Das Problem mit dem Pfad:

1. Der Anwender kann entscheiden wo das DATENBANKVERZEICHNIS liegt (ich meine nicht das Programmverzeichnis). In diesem Fall bleibt nur die Registry, d.h. der Installer muss das ausgewählte DB-Verzeichnis in die Registry schreiben und Du dann auslesen.

2. Das DB-File wird in das Prgrammverzeichnis kopiert (z.B. in den Unterordner \daten): Da reicht beim Programmstart folgender Code:
Code:
  var homePath:String;
begin
  HomePath:=ExtractFilePath(ParamStr(0));
  IBDataBase.DataBaseName:=HomePath+'Daten\db.gdb';
end;
Du musst aber in allen Fällen dafür sorgen, dass ein Interbase-User angelegt wird, mit dem Du auf die DB zugreifen kannst:

1. Weitergabe Deiner isc4.gdb: In dieser DB werden die Sicherheitseinstellungen, User,... verwaltet. Wenn Du diese weitergibst, kann jeder auf deine DB zugreifen. Ein extremer Nachteil: hat jemand schon den IB-Server installiert läuft das schief.
2. Am besten finde ich die Lösung: ein extra Programm das nach der Installation aufgerufen wird. Dieses Programm hat nur die Aufgabe einen User anzulegen. Das funzt mit der IBSecurity-Komponente sehr einfach (s. mein 2. IB-Tutorial). Das Programm kannst DU dann bei allen Deinen Programmen verwenden, die den IB-Server benötigen und die Du weitergeben willst...

So nun habe ich viel gesagt, ich hoffe, dass auch alles klar war

Grüße
Lemmy
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6
  Alt 24. Jun 2002, 09:59
Hallo Klabautermann,
ich habe umfangreiche Anwendungen im Netzt bis ca. 5 User auf Basis von Paradox Datenbanken erstellt. 20.000 Datensätze sind kein Problem. Ich verstehe auch die Kritik an Paradox nur teilweise. Probleme kann es geben, wenn der Rechner mitten im Betrieb ausgeschaltet wird oder abstürzt, sonst habe ich keine Probleme gesehen. Die Anwendungen laufen teilweise schon seid 6 Jahren!
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7
  Alt 24. Jun 2002, 10:01
@Lemmy:
Ja danke, das hat mir schon etwas beruhig. Wenn es dann tatsächlich soweit ist / kommt, melde ich mich noch mal mit den Details.

Wenn ich sie umstelle, dann wäre es ja auch eine Übung, ist nämlich etwas privates (Freund von mir und meinem Vater).
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Klabautermann

Registriert seit: 22. Jun 2002
Ort: Münster (NRW)
63 Beiträge
 
#8
  Alt 24. Jun 2002, 11:08
Hallo,

Zitat von MrSpock:
ich habe umfangreiche Anwendungen im Netzt bis ca. 5 User auf Basis von Paradox Datenbanken erstellt. 20.000 Datensätze sind kein Problem. Ich verstehe auch die Kritik an Paradox nur teilweise. [...]
leide habe ich da andere erfahrungen gemacht. In einer Netzwerkumgebung ähnlich der von dir beschriebenen hatte einer unserer Kunden bis zu stündlichen Datenverlust.
Ich weiß nicht was die Leute da mit der Datenbank getrieben haben oder was unser Programm für schlimme anfragen an diese gestellt hat. Falkt ist aber, dass soetwas nie wieder vorgekommen ist nachdem ich das Programm auf Advantage umgebaut habe. Und mit umbauen meine ich wirklich nur das austauschen der Komponenten (und das Konvertieren der Tabellen ), an der Arbeitsweise des Programms hat sich nichts geändert.

@Luckie
Vieleicht währe Advantage für dich eine Lösung du musst da ein paar DLLs mit ausliefern (1,5 Mb) die aber im vergleich mit der BDE nicht schrecken können. Ansonsten arbeitest du genau so wie du es von Paradox gewöhnt bist. In AUQ habe ich vor ein paar Tagen ein FAQ - Welche Datenbank ins Leben gerufen (hier habe ich keine ensprechende Rubrik gefunden) dort wird auch Advantage vorgestellt. Kannst es dir ja mal angucken.

Gurß
Klabautermann
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:04 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