| |
|
|
Thomas Zielinski | ¡Hola Personas, Yo sitze gerade a Dietmars Problema y beim rumspielen erzählt me Profano el el Bereichsvariable test# no dimensioniert sei, obwohl Yo ellos eindeutig zwei Zeilen drüber dimensioniere. KompilierenMarcaSeparacióncls
var sql& = sqlinit(DSN=Firebird;UID=SYSDBA;PWD=masterkey;DBNAME=E:\Data\KURSDB.GDB;)
print sql&
Set(SQLFile, E:\Data\blobausgabe.jpg)
Declare dasbild#, bild$, groesse%, test#
bild$ = E:\Data\Drache.jpg
groesse% = FileSize(bild$)
Dim dasbild#, groesse%+2
Dim test#, groesse%+500 <-----Dimensionieren
BlockRead(bild$, dasbild#, 0, groesse%+1)
test# = INSERT INTO bilder (id, name, bild) VALUES (1, Drachen, + dasbild# + ) <----- nicht mehr dimensioniert
sqlExec test#,1
Dispose test#
Dispose dasbild#
| | | XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 11.02.2009 ▲ |
| |
| | | | | | | |
| | RGH | ¡Hola,
el Fehlermeldung es en el Tat algo irreführend, aber el kleine Programa enthält algunos weit gröbere Fehler: KompilierenMarcaSeparación Was se el bewirken? Das Ergebnis uno SQLExec-Befehles es siempre una Texto! KompilierenMarcaSeparación 1. Einer Bereichsvariablen kann kein String zugewiesen voluntad. 2. String + Bereichvariable + String funktioniert natürlich auch no. Aber por qué hay hier no Fehler? Hier schlägt el automatische Typumwandlung 2 veces a: 1. En String + Zona + String se el Adresse el Bereichsvariablen automáticamente por Str$ en una String umgewandelt. Hinter el = es Así que una String. 2. Der Bereichsvariable de hecho puede durchaus una numerischer Valor como neue Adresse zugewiesen voluntad, also se el Ausdruck hinter el = como numerischer Ausdruck interpretiert. Der Stringt se por lo tanto automáticamente intern con VAL en una Valor umgewandelt y ergibt entonces exakt 0. Un Bereichsvariable con el ungültigen Adresse 0 gilt como no dimensioniert. El Fehlermeldung es also letztlich korrekt. Durch el falsche Programmlogik se test# tatsächlich a uno undimensionierten Bereichsvariablen. KompilierenMarcaSeparación sqlExec esperado una String como Parámetro y no Bereichsvariable!
Folgede Tipps: 1. Das geladene Bild mi Encode64() en una String umwandeln. dasBild# -> dasBild$ 2. Test# por lo tanto por Test$ sustituir y dasBild$ einfügen 3 Zum Auslesen des Bildes: Das SQL-Ergebnis es una String. Diesen con Decode64() otra vez en una Zona umwandeln y como JPG speichern.
Das aquí como (ungetestete) Anregung: (Yo habe hier kein FireBird) KompilierenMarcaSeparacióncls
var sql& = sqlinit(DSN=Firebird;UID=SYSDBA;PWD=masterkey;DBNAME=E:\Data\KURSDB.GDB;)
print sql&
Declare dasBild#, dasBild$, bild$, groesse%, test$
bild$ = E:\Data\Drache.jpg
groesse% = FileSize(bild$)
Dim dasbild#, groesse% + 2
BlockRead(bild$, dasbild#, 0, groesse% + 1)
dasBild$ = Encode64(dasBild#, 0, sizeOf(dasBild#))
test$ = INSERT INTO bilder (id, name, bild) VALUES (1, Drachen, + dasbild$ + )
sqlExec test$, 1
Dispose dasbild#
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.02.2009 ▲ | |
| |
| | Thomas Zielinski | Yo schieb el ahora simplemente veces en mi Grippe y el Fieber. Yo danke euch gruß Thomas |
| | | XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 11.02.2009 ▲ |
| |
| | Dietmar Horn | Thomas Zielinski
... Yo sitze gerade a Dietmars Problema ...
Der Weg encima el Guardar uno Expediente como String (Encode64) en una VARCHAR es meiner Meinung después de una Holzweg, el no más verfolgt voluntad braucht. In una VARCHAR-Feld passen en IB/FB máximo 32 KB Daten - also es dieses ya de por lo tanto no para Guardar beliebiger Archivos geeignet, porque esta meist wesentlich größer son (PDF, JPG, MP3, MPEG, AVI, ...).
In una BLOB-Feld dagegen no es el Expediente selber abgelegt, pero sólo una Verweis darauf, wo genau en el Datenbank el Expediente gespeichert es. Siehe auch [...]
Lo va also por lo tanto, con irgendeinem SQL-INSERT-Befehl (o.ä.) esta Verweis (y evtl. weitere Angaben, como Dateigröße, etc.?) en el BLOB irgendwie unterzukriegen. Und genau a dieser Punto fehlt me dafür bisher desafortunadamente una Stück Film.
Das Rauskrümeln el Archivos de el Datenbank dürfte entonces rückwärts vermutlich no mehr allzu schlimm ser, si sólo veces sin Schäden en el DB reingeschubst worden son.
Doch como va el Reinschubsen el Archivos en el BLOBs?
Inzwischen träume Yo nachts ya bald de BLOBs ... Im Traum sehen esta BLOB-Kreaturen wirklich echt furchterregend de ...
Saludo 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: [...] | 14.02.2009 ▲ |
| |
| | | | | | | |
| | Dietmar Horn | Yo warte eigentlich más en fachliche Respuesta para BLOB-Problema (IB/FB betreffend) y weniger en bunte Klicki-Bilderchen a evtl. Deutung / Interpretation meiner nächtlichen BLOB-Träume ...
Saludo 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: [...] | 14.02.2009 ▲ |
| |
| | | Wollte sólo zeigen, el Film gibts ya. (ya largo)
@Fachlich: Was erwartest Usted de me? |
| | | | |
| | Dietmar Horn | IF
@Fachlich: Was erwartest Usted de me?
Aktuell:
Ayuda, Sugerencias, Unterstützung en Richtung SQL con Interbase/Firebird, u.ä. - keinesfalls sin embargo kauderwelsche Formulierungen, oder una Sammlung Google-Bilderchen para pubertierende Niños / Jugendliche ...
Saludo 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: [...] | 14.02.2009 ▲ |
| |
| | | Dietmar Horn
IF @Fachlich: Was erwartest Usted de me?
keinesfalls sin embargo kauderwelsche Formulierungen, oder una Sammlung Google-Bilderchen para pubertierende Niños / Jugendliche ... Saludo Dietmar
Irgendwie hast Usted keinerlei Plan su, qué wirklich hilft! |
| | | | |
| | | Dietmar, du bist sicher no allein con deinem Problema. Auf el Herstellerseite hay una interessanten Artikel, cómo VERSCHIEDENE BLOB-ARTEN en Firebird a behandeln ha. Ganz unten auch con Beispielen: [...] Tal vez bringt sí el más. Gruss, Pájaro carpintero |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 5 subscriber: |