Deutsch
Forum

SQL, Firebird / Interbase und XProfan

 

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 für 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 Verhältnis zwischen MS Office und Open-Office).

Bisher mußte ich mich noch nie groß mit SQL beschäftigen, außer daß ich mir immer mal die XProfan-Hilfe 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 benötigt 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 groß weitermachen.

Literatur über 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 dürfte dann lediglich noch einer reine Fleiß- und Logik-Arbeit sein.

Das Ausweichen z.B. auf dBase ist nicht möglich, weil dBase dbzgl. nicht über die für dieses Projekt erforderlichen Feautures verfügt.

Wer kann evtl. weiterhelfen?

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

Gruß und Danke im voraus
Dietmar

111 kB
Hochgeladen:11.01.2009
Ladeanzahl208
Herunterladen
33 kB
Hochgeladen:11.01.2009
Ladeanzahl171
Herunterladen
 
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  
 




RGH
Hallo Dietmar,
User und Paßwort müssen unter XP im Init mit angegeben werden. Den Dialog zur Eingabe von Paßwort und User gibt es unter XP offensichtlich nicht mehr. (Ist mir auch schon negativ aufgefallen.)
So sollte es gehen:
KompilierenMarkierenSeparieren
Ob in Deinem Fall DATABASE gebraucht wird, weiß ich nicht, da ich mich mit Firebird noch nicht befaßt habe.

Gruß 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
11.01.2009  
 




Dietmar
Horn
Danke, Roland,

ich werde das natürlich ausprobieren (ich glaube jedoch, daß ich diese Variante zwischendurch schon -zig Mal ergebnislos getestet hatte).

Ich hatte sowieso vermutet, daß hier in der Community nicht allzuviele SQL-Profis unterwegs sind.

Auf alle Fälle werde ich das Projekt (hoffentlich mit weiteren Hinweisen aus unserer XProfan-Community) in 1 - 2 - 3 Wochen irgendwie zum Laufen kriegen.

Ich werde erst mal noch ein paar PMs, z.B. eines (meiner ehemaligen) XPRF-Schülers abwarten, denn z.B. Thomas Z. (inzwischen Fach-Informatiker für Irgendwas-DingsBums) hat mir mit seinen SQL-Kenntnissen bereits jetzt etwas ganz schön weitergeholfen.

Bestimmt ist das wieder nur ein klitzekleines SQL-Problemchen, welche noch nicht bis in mein kleines Blöd-Hörnchen-Hirn vorgedrungen ist ...

Weitere Hinweise und Hilfestellungen zu meinem aktuellen SQL-Problem sind natürlich willkommen.

Gruß und Danke im voraus
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:  [...] 
11.01.2009  
 




Dietmar
Horn
Hallo,

SQLInit mir liefert nun endlich ein Handle zurück, nachdem ich in der Systemsteuerung unter Verwaltung -> Datenquellen (ODBC) eine vorhandene Demo-Datenbank namens Employee.fdb eingetragen habe.
KompilierenMarkierenSeparieren
var DB1& = SQLINIT(DSN=Firebird;)
messagebox(str$(DB1&),,4160)

Mit
KompilierenMarkierenSeparieren
läuft bei mir bis jetzt noch gar nichts. Ich kann also immer nur mit einer einzigen vorhandenen Datenbank arbeiten, oder muß ich für jede vorhandene Datenbank einen neuen Eintrag in der Systemsteuerung anlegen? Das wäre ja schrecklich!

Mit
KompilierenMarkierenSeparieren
wollte ich mir nun den Tabelleninhalt anzeigen lassen. Aber nur immer Messagebox ODBC-Fehler mit einigen kryptischen Zeichen hinterher (aber immer dieselben komischen Zeichen, egal was ich bei SQLExec eintrage).

Das Anlegen einer neuen Tabelle mit CREATE TABLE klappt bis jetzt genausowenig.

Die nächsten Schritte wären dann das Auslesen einzelner Felder und das Hinzufügen / Ändern von Datensätzen.

Roland, weißt Du nochmals Rat, oder jemand anders?

Wenn ich da durch bin, dann bin ich bestimmt reif für die Klappse. So, wie mich dieses Firebird-SQL-Zeugs jetzt schon geschafft hat, würden das noch nicht mal meine XProfan-Kursteilnehmer schaffen - auch nicht bei 16 Stunden Kurs am Tag an 7 Tagen in der Woche.

Aber irgendwie muß ich das in den nächsten Wochen hinkriegen, egal wie.

Ich habe mal die Demo-Datenbank und die ODBC-Fehlermeldung mit angehängt.

Gruß
Dietmar

90 kB
Hochgeladen:12.01.2009
Ladeanzahl107
Herunterladen
8 kB
Hochgeladen:12.01.2009
Ladeanzahl103
Herunterladen
 
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:  [...] 
12.01.2009  
 




RGH
Hallo Dietmar,
auch wenn SQL geschaffen wurde, um möglichst viele Datenbanken einheitlich abzufragen, gibt es leider dann doch oftmals feine und kleine Unterschiede.
Ich selbst habe XProfans SQL-Fähigkeiten bislang problemlos mit dBase-Dateien (lokal), MySQL (lokal und entfernt), ZIM (lokal und entfernt) und Oracle (entfernt) eingesetzt. Entfernt bedeutet, dass die Datenbak auf einem Server im Firmen-Netzwerk oder gar über TCP/IP auf einem Rechner an einem anderen Standort war.
Mit Firebird habe ich bislang noch nichts zu tun gehabt. Um Dir weiter zu helfen müßte ich FireBird selber installieren.
Welche FireBird-Version benutzt Du?
Kann man es lokal installieren und dann auch lokal darauf zugreifen? (Auf der Internetseite steht was von Classic Installation und SuperServer. Welche hast Du benutzt?

Gruß
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
12.01.2009  
 




Dietmar
Horn
Hallo Roland,

ich habe die Version Firebird 2.1.1.17910 installiert - Superserver (also alle Standard-Häkchen im Setup-Programm so gelassen) und es als Dienst gestartet.

Man kann Firebird natürlich lokal installieren und dann auch lokal darauf zugreifen.

Ich glaube, dazu braucht man auch noch den ODBC-Treiber, ich hänge ihn mal mit an (ich mußte ihn jedenfalls bei mir erst noch installieren).

Mein Programm soll möglichst nicht die Kommandozeilen-Tools von Firebird nutzen, sondern alles per SQL von XProfan aus.

Gruß
Dietmar

493 kB
Hochgeladen:12.01.2009
Ladeanzahl96
Herunterladen
 
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:  [...] 
12.01.2009  
 




E.T.
Ich bin ja der Meinung, das man diese API nutzen sollte :

Firebird-Anleitung
The Firebird client library provides an Application Programming Interface (API) with functions for connecting to servers and working with databases. The library functions communicate with the server(s) using a dedicated Firebird client/server protocol that sits on top of the general network protocol provided by the OS.

All client applications and middleware must use the API in some way to access Firebird databases.The Firebird API is backwardly compatible with the InterBase API. The InterBase API Guide (available at [...]  contains extensive documentation on the use the API in applications. Additional features available in the Firebird API are documented in the Firebird release notes.

Client filenames
The Firebird client library files are fbclient.dll (Windows), libfbclient.so (Linux network client) and libfbembed.so (Linux local client with embedded engine, Classic only). In order not to break certain existing applications, a copy of fbclient.dll with the old name gds32.dll can be installed on Windows machines. On Linux, legacy libgds* symlinks are installed automatically.


Man belehre mich eines besseren... 
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
12.01.2009  
 




RGH
Hallo,
installiert habe ich die Geschichte und das SQLInit klappt auch prima.
Zum weiteren Vorgehen noch eine Frage. Die oben angehängte Testdatenbank von Dir heißt EMPLOYEE. Wie heißt die Tabelle bzw. heißen die Tabellen, die in dieser Datenbank sind?

Gruß
Roland
(macht aber erst morgen weiter. Gute Nacht!)
 
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  
 




E.T.
RGH
...Die oben angehängte Testdatenbank von Dir heißt EMPLOYEE. Wie heißt die Tabelle bzw. heißen die Tabellen, die in dieser Datenbank sind?...


EMPLOYEE.FDB
Unter Firebird ist alles !!! in einer Datenbank, das können Daten, Videos, Bilder oder sonstwas sein...
Da wird alles in eine db (u.U. mit Giga-Größe)gepackt, deshalb mein Hinweis weiter oben, die API zu nutzen. Normales SQL wird da, denke ich, nicht weit kommen, da ja die .fdb von irgendjemand auseinandergenommen werden muss.

P.S. : Ich red nicht nur schlau, ich sitz selbst auch drann, das Dingens zum laufen zu bekommen... 
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.01.2009  
 




RGH
Hallo und Guten Morgen!

Nun, ich denke mal, wenn es eine ODBC-Schnittstelle gibt, wird man auch auf die Daten über diese irgendwie zugreifen können. Ich gehe allerdings immer noch davon aus, dass die Daten in eine rDatenbank in irgendeiner Weise in Tabellen organisiert sind, wie es bei anderen Datenbanken, mit Ausnahme von Clipper/dBase und Konsorten*, üblich ist. Oder liege ich hier falsch.
Und eine Datenbank enthält eine oder mehrere Tabellen. Und diese enthalten einen oder mehrere Datensätze, die widerum ein oder mehrere Felder enthalten.
(Ob die ganze Datenbank nun wie hier physikalisch in einer Datei liegt, oder wie etwa bei mySQL oder ZIM auf mehrere verteilt ist, sollte für den Zugriff keine Rolle spielen.)

Gruß
Roland

* Da gibt es eigentlich nur einzelne Tabellen. Unter ODBC werden die Tabellen, die im gleichen Verzeichnis liegen, als Datenbank betrachtet.
 
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  
 




RGH
Ergänzung:

Bitte nicht Datenbank mit Tabelle verwechseln! Eine dbf-Datei ist z.B. eine Tabelle und keine Datenbank, höchstens Teil einer Datenbank.

EMPLOYEE.FDB ist die Datenbank. Diese enthält Tabellen. Und wie ich mit dem sehr schönen Tool IBView jetzt herausgefunden habe, sind es folgende Tabellen: COUNTRY, CUSTOMER, DEPARTMENT, EMPLOYEE, EMPLOYEE_PROJECT, JOB, PROJECT, PROJ_DEPT_BUDGET, SALARY_HISTORY und SALES. Und natürlich die Systemtabelle, die alle Infos über Tabellen, Indices, etc. enthält: RDB$RELATIONS.

Leider bekomme ich bislang bei jedem Versuch auf diese zuzugreifen, die von Dietmar beschriebene Fehlermeldung. Der Zugriff auf die Datenbank selber gelingt bei mir problemlos mit folgendem SQLInit-Statement:
KompilierenMarkierenSeparieren
oder auch ohne Passworteingabe mit:
KompilierenMarkierenSeparieren
Man ahnt es bereits: Bei mir liegt die EMPLOYEEE.FDB auf DokumenteFireBird.

Gruß
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  
 




RGH
BEI MIR GEHT ES JETZT!

Was habe ich gemacht? Nicht die veralteteten ODBC-Treiber aus Deinem (Dietmars) Posting verwendet, sondern hier das neueste stabile Release geholt: [...] 
(Den obersten Eintrag, Version 1.2 Full Install)

Folgendes Programm funktioniert nun einwandfrei:
KompilierenMarkierenSeparieren
Gruß
Roland

Im Anhang meine Einstellungen.

38 kB
Kurzbeschreibung: Konfiguration
Hochgeladen:13.01.2009
Ladeanzahl136
Herunterladen
57 kB
Kurzbeschreibung: Systemsteuerung/Verwaltung/Datenquellen ODBC
Hochgeladen:13.01.2009
Ladeanzahl147
Herunterladen
 
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  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

18.949 Betrachtungen

Unbenanntvor 0 min.
Klaus Kohlhepp20.10.2022
Walter24.02.2022
Rschnett20.02.2019
Peter Max Müller04.02.2019
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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