![]() |
Firebird wie?
Hallo Leute
ich habe jetzt auf meinem PC einen Firebird-Server installiert. Was muß ich jetzt tun, damit ich mit Delphi + FIBPlus eine Verbindung herstellen kann? Ich will einfach mal ein Erfolgserlebnis! Danke TO |
Hi,
ist Dein FIBplus richtig eingerichtet ? Falls ja kann ich Dir sagen wie das geht :!: Aber nicht direkt, weil ich noch weg muß. Also hast Du Zeit genug die üblichen Fragen zu beantworten : Betriebssystem ? Versionen von Delphi,FIBplus,Firebird ? Und vor allem, was hast Du überhaupt vor ? Weiterhin brauchst Du noch ein Konsolenprogramm, wobei ich IBexpert empfehle. Falls Du das noch nicht hast : runterladen. Dann kanns losgehen. Gruß Hansa |
Also:
Betriebssystem: WinXP-Pro Delphi-Version: Delphi 6 Enterprise Firebird-Version: 1 FIBPlus-Version: 4.7.7 (laut Delphi-Kompos) (Trial / nicht gekauft) IBexpert: Personal-Edition (reicht doch, oder) Vorhaben: Was einfach, zum Beispiel Adressdatenbank (Stanrt, ich weiß) |
Firebird
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
guck, daß Du das den im Anhang beiliegenden Bildschirm hinkriegst. IBexpert starten -> Create DataBase. Dann folgendes eingeben : ACHTUNG ! Auf GROß/klein - Schreibung achten ! 1. Server auf lokal umstellen 2. Dateiname angeben 3. User Name ist SYSDBA 4. Password masterkey 5. Page Size ist nicht so wichtig, ich nehme immer 4096 6. WICHTIG! Char Set auf ISO8859_1 umstellen, sonst gibt es Probleme 7. WICHTIG! Dialect 3 Dann kommt "Register Database", notfalls nochmal dasselbe eingeben. Irgendwo steht da noch eine Checkbox "Always capitalize Database object names" Kreuze die an. Gruß Hansa |
Jut, soweit bin ich, kann auch zu der DBase connecten.
BTW: Ich habe schon mit MySQL gearbeitet, auch schon mit dem BDE in Verbindung mit Paradox. |
Hi,
sobald die neue DB links zu sehen ist clicks Du sie an. Dann clickst Du rechts bei new Table. Diese DIREKT umbenennen. Dann legst Du deine Felder genauso an. Nimm ID als erstes und setze Flag Primary Key. Dann die anderen Felder. Das geht alles auch mit Delphi. Als Lektüre empfehle ich Dir noch Lemmys Tutorial. Gruß Hansa P.S.: Den Delphi-Weg würde ich an dieser Stelle aber nicht wählen :!: |
Liste der Anhänge anzeigen (Anzahl: 1)
Gut, meine Tabelle sieht jetzt so aus.
btw, was gibt die Size bei einem Blob an? Anzahl der Linien oder Anzahl der Zeichen? [edit=Admin]Ich habe mal das Bild gelöscht, da es ein wenig breit war. Das Bild ist ja noch im Anhang an diesen Beitrag zu finden. Mfg., Daniel[/edit] |
Uff,
Zitat:
Lese Dir das hier mal durch: ![]() Gruß Hansa |
aber was ist die Alternative wenn ich einen verschieden Zeillen langes Feld brauche?
|
Dann mach es so groß, wie es maximal wird. Oder willst Du eine Adresse auf 2 DIN A 4 Seiten verteilen und den Brief mit einem Fensterumschlag wegschicken ? :mrgreen:
Gruß Hansa P.S.: Ich sehe gerade, Du hast für das Blob 4 Zeilen vorgesehen. Dann mache daraus: Anrede,Name,Strasse,Ort jeweils als CHAR mit Länge XY. Ein Blob-Feld ist für sowas total ungeeignet. Soweit ich weiß, kriegst Du da nur das gesamte Blob-Feld. Also kannst Du nicht mal die Hausnr. einzeln ändern :!: Letzte Warnung, jetzt Blob - Felder einzusetzen :!: :lol: Gruß Hansa |
Aus dem Grund habe ich doch unter Size "4" stehen, soll doch heißen 4 Zeilen, oder nicht?
Außerdem: wie geht es jetzt in Delphi weiter? |
Hi theomega,
wenn Du lesen kannst, dann lese, was ich Dir sage, machst Dus nicht, tja dann kann ich Dir nicht helfen. Desweiteren lese den Artikel, Link hab ich Dir gegeben. Es steht Dir frei, einen einzelnen Buchstaben in ein Blob-Feld zu speichern, aber das Programm möchte ich nicht geschenkt. Mit Blob-Feldern habe ich mich nur am Rande beschäftigt. Für eine Adresse ist das totaler Schwachsinn :!: :!: :!: Anscheinend hast Du mich vorher nicht so ganz verstanden oder ich habe mich nicht deutlich genug ausgedrückt. :warn: Gruß Hansa P.S.: Nochwas, Du kannst Dich getrost von den gewohnten Vorstellungen verabschieden. Das fängt bei Arrays an und hört ungefähr bei Blob auf. :mrgreen: |
oki, sorry hatte den zweiten Teil deiner Message nicht gelesen.
|
HI theomega,
in einem BLOB kannst Du neben irgendwelchen Dateien auch Memos speichern (TDBMemo). Einfach als SubTyp Text anlegen. Die Size gibt hier aber NICHT die absolute Größe an (liegt irgendwo bei 2 GB), sondern die Größe der EINZELTEILE die beim Zugriff auf das Blob bearbeitet werden. Ein Blob wird also nicht als Ganzes gelesen/geschrieben sondern immer in Teilen. Bei einer Size von 4 sind beim Lesen eines Memos mit ein paar Zeilen jede Menge Zugriffe notwendig -> Langsam! Lass i.d.R. die Standardgröße von 80 stehen. Nur wenn Du wirklich andere Größen hast (z.B. Bitmaps die immer gleich groß sind) dann kannst Du da was anderes reinschreiben.... Grüße Lemmy P.S.: Sorry Hansa für meine Einmischung :D |
Also jetzt entscheidet euch:
soll ich einen Blob nutzen oder nicht? Weil ich kann ja garnicht genau wieviel Zeilen die Adresse hat. Von MySQL bin ich halt den typ "memo" gewohnt. Um beliebig viele Zeilen abzuspeichern. |
Hi,
ich habs oft genug gesagt und jetzt zum letzen Mal : Laß das Blob voerst sein. Bei einer Adresse ist das wie mit Kanonen auf Spatzen zu schießen. Da werden noch etliche andere Probleme auftauchen :!: Du scheinst Dir gleich am Anfang selber unnötige Schwierigkeiten machen zu wollen. :roll: Gruß Hansa |
Na gut, also weiter im Text, wie funzt das jetzt unter Delphi?
|
Anstat immer nur darauf hinzuweisen was er deiner Meinung nach nicht machen soll wäre es wohl besser mal einen Tip zu geben wie man eine solche Adress-Datenbank aufbauen könnte.
Oder muss jetzt jeder das machen was Du möchtes? :lol: (Das ist ein ironisch gemeint!!) |
Hi,
Zitat:
Zitat:
@theomega : Umdenken mußt Du so oder so. Das nächste, was noch kommt, werden vermutlich die Arrays sein. Da geht es dann so weiter, wie es angefangen hat. Die sind nämlich auch anders. Willst Du die blobs benutzen, dann kann ich Dir leider nicht sagen, wie das in Delphi geht. Wenn ich die überhaupt jemals benutze, dann am Schluß, wenn alles andere funktioniert. Gruß Hansa |
Habe ich das jetzt richtig verstanden? Du räts mir also, dass ich statt einem Blob ein Paar varchar's nehmen soll, die dann die Linien repräsentieren, oder nicht? So habe ich es nämlich jett gemacht.
|
Hi,
Zitat:
Gruß Hansa |
Hätte ich gerne, aber nachdem du mich eines besseren belehrt hast, werde ich es wie oben beschrieben machen.
|
Zitat:
genau so würde ich das machen. z.b: name : Varchar (50) vorname : varchar (50) strasse : varchar (50) lkz : int plz : varchar (10) ort : varchar (50) okz : varchar ( 8 ) tel : varchar (16) fax : varchar (16) email : varchar (50) lkz ist die Landeskennzahl. Die würde ich zusammen mit dem Länderzeichen (D,A,F,GB...) in einer eigenen Tabelle speichern. Dort könntest Du dann auch die internationale Vorwahl des Landes hinterlegen (49 für D, 41 für Ch, usw). okz : ist die Ortskennzahl (Vorwahl). Das hat den Vorteil das Du z.B. bei Ausdrucken besser formatieren kann. Oder Du kannst gezielt nach Adressen mit bestimmten Eigenschaften (plz, vorwahl, land) suchen. |
jep, so änlich hatte ich es auch, jetzt würde mich aber schon intessieren, wie es in Delphi weitergeht.
Und nochwas: wie kann ich einen neuen user anlegen und das Passsword vom Sysdba ändern? |
Ah, geht es doch weiter ?
Dann mache jetzt ein neues Projekt und setze da ein neues DataModule drauf. In dieses setzt Du nun eine Database, eine Transaction und ein DataSet (Alles unter Reiter FIBplus zu finden !). Dann gehts los mit der Database (die mußt Du so ähnlich einrichten, wie in IBexpert) : 1. Databasename : genauer Pfad- und Dateiname 2. ConnectParams : wie ich es für IBexpert geschrieben habe, insbesondere auf ISO8859_1 achten 3. Login Prompt auf false setzen 4. Dialect auf 3 5. Transaction per Dropdown auswählen, da müßte Deine drinstehen 6. zum SCHLUß connected auf true setzen Dann der Transaction die Database zuordnen und active auf true setzen Tja dann kommt das Dataset. Das ist etwas komplizierter und ich muß weg. Mach das hier erst mal. Und orientiere Dich an Lemmys Tutorial. Das müßte auch so gehen. Gruß Hansa |
Gut, ich habe es inzwischen ganz hinbekommen. Nur noch zwei Fragen sind offen:
1. Wie kann ich das Password von "SYSDBA" ändern 2. Wie kann ich einen neuen Benutzer erstellen? Danke TO |
Zitat:
Gruß Hansa |
Gut, dann habe ich wohl eine zuj einfache Lösung gewählt: ein Query mit "SELECT * FROM addys".
Erklär du mal weiter. |
Aber, was willst Du wissen ?
Gruß Hansa |
Was du mit "Lemmy's Tutorial" meinst!
|
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
hast Du das nicht gefunden ? Wenn das so weiter geht, dann bist Du nächstes Jahr noch dran. Ich hänge das Tutorial jetzt hier dran. Steht sogar drin, wie Benutzer angelegt werden. :spin: Gruß Hansa |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz