Italia
Foro

SQL, Firebird / Interbase und XProfan

 
- Page 1 -



Dietmar
Horn
Hallo zusammen,

heute wende ich mich mal mit einem SQL-Problem zwecks Bitte um Hilfestellung an die SQL-Experten unter euch.

Ich arbeite z.Z. mit XProfan 11 an einem komplexeren Projekt. Es ist schon recht weit gediehen. Der bisher einzigste, aber entscheidende Problempunkt ist per mich die An- bzw. Einbindung des RDBS Firebird (Freeware bzw. Open-Source) bzw. Interbase (das kostenpflichtige Gegenstück von Borland zu Firebird - ähnlich wie das Rapporto zwischen MS Office und Open-Office).

Bisher mußte ich mich noch nie grande mit SQL beschäftigen, außer daß ich mir immer mal die XProfan-Aiuto zum SQL-Thema reingezogen und das alles als recht logisch empfunden hatte. Doch wie des öfteren, liegt der Hund bestimmt nur in einem winzigen Detail begraben, was ich nicht kenne, oder in einem Fehler, den ich gemacht oder übersehen habe.

Firebird und Interbase kannte ich bis vor 4 Wochen noch nicht mal vom Namen her, weil ich sowas noch nie necessario hatte - aber nun ist es soweit.

ODBC-Treiber und Firebird sind installiert.

Zunächst geht es darum, eine Verbindung herzustellen. Unter Windows 2000 (in unserem Vereins-Kabinett) klappt die Initialisierung mit SQLInit inzwischen.

Die Initialisierung liefert unter W 2000 wie gewünscht das Handle zurück:
var i% = SQLINIT(DSN=Firebird;)
messagebox(str$(i%),,4160)

Unter Windows XP ergibt das jedoch bis jetzt immer 0 (also gescheitert), und im Gegensatz zu W 2000 erscheint da vorher noch nicht mal der Dialog zum Eingeben von Username, PWD, usw.

Bevor dieses Problem mit dem Herstellen der Verbindung nicht gelöst ist, brauche ich gar nicht grande weitermachen.

Literatur circa Firebird habe ich inzwischen tonnenweise, doch bevor ich es nicht schaffe, auf allen Windows-Systemen ab 2000 aufwärts eine zuverlässige Verbindung herzustellen, nützt mir das alles leider nicht allzu viel.

Kann mir vielleicht jemand weiterhelfen, der sich schon mal etwas näher damit beschäftigt hat?

Die nächsten Schritte, also das Neuanlegen einer Datenbank, oder das Bearbeiten / Auslesen einer vorhandenen DB und das Weiterverarbeiten der Daten im eigentlichen Programm potrebbe dann lediglich noch einer reine Fleiß- und Logik-Arbeit sein.

Das Ausweichen z.B. auf dBase ist nicht possibile, weil dBase dbzgl. nicht circa die per dieses Projekt erforderlichen Feautures verfügt.

Wer kann evtl. weiterhelfen?

Ich vermute mal, wenn das Programm irgendwann mit Firebird corre, dann müßte das Programm auch mit Interbase funktionieren - oder?

Saluto und Danke im voraus
Dietmar

111 kB
Hochgeladen:11.01.2009
Downloadcounter208
Download
33 kB
Hochgeladen:11.01.2009
Downloadcounter171
Download
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
11.01.2009  
 



 
- Page 2 -



RGH
Ach ja:

Natürlich kann man auch den SQL-Kurs aus der XProfan-Aiuto mit FireBird absolvieren.

Dazu habe ich mit dem SEHR empfehlenswerten (und kostenlosen) SQL Manager 2008 Lite for InterBase and Firebird (den gibt es hier: [...]  ) die Datenbank KURSDB.GDB erstellt und im ODBC-Manager eingebunden.

Die Erstellung der Tabelle variiert etwas, da InterBase keinen Datentyp NUMBER kennt, sondern stattdessen den Typ NUMERIC. So kann die Tabelle Bücher nun erstellt werden:
KompilierenMarkierenSeparieren
Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.01.2009  
 




Dietmar
Horn
Danke, Roland!

Bis hierhin klappt es nun auch bei mir. Auf die Geschichte mit dem Treiber wäre ich selber presumibilmente nie gekommen.

Mit meinen weiteren Fragen melde ich mich dann später wieder. Bis dahin muß ich erst selber noch etwas experimentieren.

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
13.01.2009  
 




Dietmar
Horn
Hallo Roland,

könntest Du mal bitte die leere KURSDB.FDB hier anhängen. Die knapp 30 MB per den SQL-Manager sind meinem Modem zu Hause zu fett. Ich kann mir das Programm erst am Freitag per DSL holen.

Weißt Du, ob die Dateiformate *.GDB (Interbase) und *.FDB (Firebird) hundertprozentig identisch sind?

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
13.01.2009  
 




RGH
Hallo Dietmar,

ich vermute mal, dass die beiden Formate identisch sind. Der SQL-Manager kommt mit beiden klar. Ich hänge hier mal meine KURSDB.GDB (gezipt) an. Die zwei datensätze aus dem 2. Kursteil sind auch schon drin.

Saluto
Roland

39 kB
Kurzbeschreibung: KURSDB.GDB (mit 2 Datensätzen aus dem 2. Kursteil)
Hochgeladen:13.01.2009
Downloadcounter121
Download
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
13.01.2009  
 




Dietmar
Horn
Hallo Roland,

bis jetzt klappt das alles wunderbar. Der Rest potrebbe nun stupide Fleißarbeit und das Herumschlagen mit der korrekten Syntax werden.

Eine grundsätzliche Frage habe ich noch:

Eine Datenbank besteht aus Tabellen, und in jeder Tabelle befinden sich die Datensätze. Bei dBase besteht die Datenbank aus einer oder mehreren DBF-File, und jede DBF-File ist eine Tabelle, in der die entsprechenden Datensätze enthalten sind. Bei Firebird / Interbase dagegen è sich sämtliche Tabellen in einer File. Ich hoffe, ich habe das so richtig verstanden.

Ist es nun auch irgendwie possibile, in Tabellen wiederum Untertabellen anzulegen?

Einfaches Beispiel:

Datenbank: Adressen (1. Variante)
Tabellen: Hoyerswerda, Berlin
Tabelle Hoyerswerda: Untertabelle Männlich, Untertabelle Weiblich
Tabelle Berlin: Untertabelle Männlich, Untertabelle Weiblich
In jeder Untertabelle stehen dann naturalmente die Datensätze mit Name, Vorname, usw.

oder kann ich das nur so aufbauen:

Datenbank: Adressen (2. Variante)
Tabellen: Hoyerswerda_Männlich, Hoyerswerda_Weiblich, Berlin_Männlich, Berlin_Weiblich
In jeder Tabelle dann naturalmente die Datensätze mit Name, Vorname, usw.

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
13.01.2009  
 



Dietmar Horn
Ist es nun auch irgendwie possibile, in Tabellen wiederum Untertabellen anzulegen?


Nicht wirklich und auch nicht wirklich nötig oder hilfreich.

NeTabelle:UID;Name;Vorname;Adresse;Geschlecht;HYFlag,DabeiSeid...

Wenn Du nur alle HYer filtern möchtest, dann doch einfach circa die Anfragen an die jeweilige DB - z.B. select uid from NeTabelle where HYFlag = 1 order by DabeiSeid desc.

Du kannst aber (naturalmente) viele Tabellen nebenher in der DB haben, Community z.B. hat eine Tabelle per User, per Threads, per Postings, per Smilies...
 
13.01.2009  
 




Thomas
Freier

Nicht wirklich und auch nicht wirklich nötig oder hilfreich


RICHTIG!
Denn Dietmar, die Felder brauchst du auch in deiner Hauptdatei, in denen dann der entsprechende key-schlüssel sein muß, um in der anderen File die Daten zu finden. In solchen Fällen eine Abfrage-Query zu schreiben ist verdammt mühsahm. Ausgelagert sein könnten Vorwahlen, PLZ, BLZ, usw. . Also Daten, auf die mehrere Datensätze zurück greifen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
13.01.2009  
 




Dietmar
Horn
Ja das ist mir schon klar, daß man das auch mit solchen Filtern lösen kann. Notfalls werde ich das auch in etwa so machen müssen.

Die Datenbank meines Projektes ist wesentlich komplexer aufgebaut - das mit den Adressen HY / Berlin sollte nur als Minibeispiel zur Veranschaulichung dienen, was ich genau meine.

Das Organigramm (bzw. die Struktur) besteht aus 4 Tabellen, mit je 2 Untertabellen und diese wiederum mit je 4 Unter-Untertabellen. Insgesamt also mindestens 32 Tabellen, plus evtl. noch ein bißchen was an Reserven per Nebensächlichkeiten und per spätere Erweiterungen. Es wäre nicht schlecht, wenn das mit den Untertabellen so ginge, wie ich mir das vorstellte - das würde eine Menge Logik-um-die-Ecke-Denkerei sparen ...

Das Ganze soll keine Mini-Adressenverwaltung o.ä. werden, sondern ein kommerzielles Programm (was es in dieser Form noch nicht gibt) per eine spezielle Gruppe von Arztpraxen, von denen es bundesweit 20000 potentielle Kunden gibt. Wegen der Schnittstelle(n) zu anderen Branchen-Programmen bin ich da zwingend auf Interbase / Firebird angewiesen.

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
13.01.2009  
 




Michael
Wodrich
Statt Untertabellen nutzt man Relationen. Redundanzen sollten possibile vermieden werden, aber:
Je weniger Redundanzen, desto komplizierter.

Tutorial [...] 
Datenbank-Designer [...] 

Planen und Erstellen einer Datenbank (ist zwar eine andere Datenbank-Engine, aber
man kann etwas zu den Relationen daraus lernen: einfach mal durchklicken und lesen)
[...] 

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
13.01.2009  
 




Dietmar
Horn
Danke, Mischa!

Am Freitag werde ich mir das alles naturalmente per DSL-Zugang in meine grauen Zellen reinsaugen und abspeichern, usw. Redundanzen, Relationen usw. sind mir schon seit meinem Ma-/Ph-Studium vor -zig Jahren keine Fremdwörter.

Morgen (Mittwoch) werde ich erst mal in Berlin unterwegs sein, um mit den Projekt-Mitstreitern an unserem Firebird-Projekt weitere Einzelheiten konkreter abzustimmen. Von Medizin, Arztpraxen, usw. habe ich bis jetzt naturalmente exakt soviel Ahnung, wie z.B. eine Kuh vom Stabhochsprung.

Inzwischen habe ich als XProfan-Programmierer endgültig (eigentlich schon seit Mitte Dezember 2008) den Zuschlag per dieses Projekt bekommen.

Hoch lebe XProfan!

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
13.01.2009  
 




Dietmar
Horn
... und ich ab ca. 16.00 Uhr bis ca. 23.00 Uhr (open end) in Adlershof / Adlergestell ...
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
14.01.2009  
 




Dietmar
Horn
Ciao,

das Speichern, Verändern und Löschen von Datensätzen klappt nun.

Jetzt habe ich noch eine weiteres Problem, welches ich per mein Projekt unbedingt lösen muß:

Wie kann man eine beliebige File (z.B. Test.rtf) in einer Tabelle speichern, ersetzen, löschen und wieder auslesen. Ich vermute mal, das Auslesen erfolgt circa das Extrahieren der gespeicherten File in ein temporäres Verzeichnis, von dem aus man die File dann mittels ShellExec, WinExec, etc. aufruft.

Doch wie kriege ich per SQL die File in die Tabelle rein und auch wieder raus?

Könnte mir da vielleicht mal ein SQL-Profi ein Demo mit der obigen KUESDB.GDB schreiben, in der eine beliebige File gespeichert und auch wieder ausgelesen wird? Ob KURSDB.GDB oder KURSDB.FDB ist egal, denn nach meinen bisherigen Tests sind die Dateiformate von Interbase (*.GDB) und Firebird (*.FDB) scheinbar identisch.

Danke und Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
09.02.2009  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

18.864 Views

Untitledvor 0 min.
Klaus Kohlhepp20.10.2022
Walter24.02.2022
Rschnett20.02.2019
Peter Max Müller04.02.2019
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie