| |
|
|
- Seite 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 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:
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 |
|
|
| 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 ▲ |
|
|
|
| |
|
- Seite 4 - |
|
|
Dietmar Horn | @Roland: Danke für den Code! Ich werde ihn versuchen, demnächst erst Mal in mein Projekt einzubauen. Als Kompromiß-Lösung müßte das zunächst reichen, doch auf Dauer taugt das vermutlich nicht allzu viel, weil es vorgesehen ist, zukünftig FB/IB-Datenbanken mit BLOB-Feldern von anderen Programmen auszulesen und mit ihnen Daten auszutauschen.
Irgendwie muß das mit den echten BLOB-Feldern funktionieren, denn alle mir bekannten Konkurrenz-Programme können das schließlich ebenfalls. Doch in den mir zur Verfügung stehenden Hilfedateien finde ich absolut keinen Hinweis darauf.
@Peter: Das mit den BLOB-Subtypen kenne ich inzwischen - soweit war ich schon. Doch nirgendwo findet man ein Wort darüber, oder einen Befehl, wie das geht.
Gruß 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: [...] | 23.02.2009 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Dietmar!
Wie stehts denn mit meiner Lange Strings-Routine? [...] Wo gibt es damit welche Probleme?
SeeYou Pascal |
|
|
| |
|
|
|
E.T. |
...Lange Strings-Routine?...
Ich hab die Erfahrung gemacht, das, wenn die Strings zu lang werden, FB den kompletten Befehlsstring nicht übernimmt. Dies wird mit der Meldung Unerwartetes String-Ende (oder so ähnlich) quittiert und der SQL-Befehl nicht ausgeführt. Ob das abschneiden jetzt bei FB oder bei der Übergabe per XProfan passiert, muss ich probieren... |
|
|
| 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... | 23.02.2009 ▲ |
|
|
|
|
RGH | Uwe Pascal Niemeier
Hi Dietmar! Wie stehts denn mit meiner Lange Strings-Routine? [...] Wo gibt es damit welche Probleme? SeeYou Pascal
Firebird/Interbase unterstützt meines Wissens VarChars nur bis 32 kB, also bleibt meine Lösung oder tatsächlich BLOBs. Mir ist bislang aber nicht klar, wie ich per ODBC/SQL auf BLOBs zugreifen kann. Zu den ODBC-Treibern für Interbase/Firebird gibt es so gut wie keine Dokumentation.
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 | 23.02.2009 ▲ |
|
|
|
|
Dietmar Horn | Hallo Uwe,
ich glaube nicht, daß die Sache mit den langen Strings die endgültige Lösung des Problems darstellt.
Bei den VARCHAR-Textfeldern scheint es keine Probleme zu geben, aber die fassen leider nur maximal 32 KB. In meiner Datenbank sind jedoch weitaus größere Datenmengen zu speichern (und wie oben bereits beschrieben, wegen der Kompatibilität mit anderen IB/FB-Datenbanksystemen in echten BLOB-Feldern). Das können neben kleinerem Kleckerkram auch etwas größere RTFs mit Bildern, eingescannte Texte als JPG oder gar Videos sein.
Gruß 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: [...] | 23.02.2009 ▲ |
|
|
|
|
Dietmar Horn | @Roland: Ich hatte da in irgendwelchen Tutorials schon mal was zu IB/FB-BLOBS in Delphi und / oder C++ gefunden.
Ich muß mal suchen, vielleicht finde ich die Codes bis Freitag wieder. Delphi und C++ ist bei mir jedoch schon zuviele Jahre her, als daß ich damit selber groß was mit XProfan anfangen konnte.
Oder Thomas Z. findet das schneller wieder, denn ihn hatte ich damit auch schon länger mit meiner Bloberei genervt.
Gruß 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: [...] | 23.02.2009 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Leute!
Ich hatte MEMO bzw. VARCHAR verwendet, weil das die größten Felder waren (unbegrenzt), die die mir verfügbaren dbs zu bieten hatten. IMHO sollte es auch mit jedem anderen Feldformat in anderen dbs klappen.
Das Schreiben per profanem SQLExec klappte mit mehr als 500 KB; allerdings kam es bei reinen Binärdaten zu Fehlern oder Abstürzen. Ob das vom FeldTyp abhängt, vom Treiber oder von SQLExec kann ich (noch) nicht sagen.
Beim Auslesen sollte der FeldTyp jedenfalls von der API-Routine automatisch erkannt werden.
Was genau passiert denn, wenn ihr versucht, einen BLOB zu beschreiben bzw. auszulesen? (Allerdings würde ich keine Bilder nehmen, sondern einen künstlich erzeugten eindeutigen String)
SeeYou Pascal |
|
|
| |
|
|
|
Thomas Freier | Vielleicht an dieser Stelle: [...] mal etwas buddeln oder Hilfe erbitten? Oder, ihr habt ja schon alles aktiv, die Freewareversion:
EMS SQL Manager for InterBase/Firebird Freeware ist eine kostenlose Sammlung von Werkzeugen, welche eine erschwingliche “alles-in-einem“ Lösung für produktive InterBase/Firebird Datenbankverwaltung liefert. SQL Manager Freeware unterstützt die letzten InterBase und Firebird Versionen und erlaubt es, die DBA und Entwickleraufgaben zu vereinfachen.
von [...] getestet? |
|
|
| |
|
|
|
Dietmar Horn | Hallo Thomas,
diesen SQL-Manager kenne ich bereits. Mal abgesehen davon, daß das Teil eine unmögliche Bedienerführung hat, ist das nur eine 30-Tage-Testversion, die bei mir bereits abgelaufen ist. Auch in unserem PC-Kabinett gibt es nicht mehr viele Rechner, wo er noch nicht draufgewesen war.
Mir geht es nicht darum, irgendwas mit irgendeinem externen Tool in die Datenbank zu stopfen (das Tool könnte man sich dann ja notfalls kaufen), sondern das muß zwingend vom XProfan-Programm aus passieren (siehe oben). Und zwar nicht nur das Hineinstopfen, sondern auch das Auslesen und der Updaten der BLOBS.
Ich glaube, ich werde langsam wirklich bald beBLOBbt.
Gruß 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: [...] | 23.02.2009 ▲ |
|
|
|
|
Thomas Freier | Hallo Dietmar, auch wenn ihr das schon getestet habt, können den Kaufanwendungen per SQL auf die Blob-Felder zugreifen? Wenn ja, muß es doch einen Weg über XProfan geben. Wo werden die Daten der Blob-Felder eingefügt? Wie bei Access in die Datentabelle oder wie bei FoxPro oder dBase V in einer getrennten Tabelle? |
|
|
| |
|
|
|
Dietmar Horn | In das BLOB-Feld wird meines Wissens nach bei IB/FB lediglich ein Verweis darauf eingefügt, wo genau (an welcher Adresse, oder so) in der zugehörigen Datenbank (nicht Tabelle) sich die Daten bzw. Dateien befinden. Also ähnlich wie bei den dBase-Memo-Feldern. Nur mit dem Unterschied, daß sich (wie bei dBase) die Tausende von Dateien nicht in externen Dateien tummeln, sondern irgendwo fest in die DB an- oder reingeklatscht werden - jedoch nicht in irgendwelche (sichtbaren) Tabellen.
Gruß 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: [...] | 23.02.2009 ▲ |
|
|
|
|
Thomas Freier | Dietmar, ich weis nicht ob dir der Anhang weiter hilft. Habe noch eine 30tage dbaseplus2.2 (80mb) gefunden. Bin selbst nicht tiefer eingestiegen. |
|
|
| |
|
|