Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 241834 (3270)
  Suchen
 Zurück zur Übersicht
 AutorThema: ODBC: abgeschnittene Memofelder
Andy Marschner
Datum:25.04.02 15:22 Antwortenals Email verschicken (asmars@gmx.net) 


Hallo zusammen

Ich will ein kleines Programm schreiben, welches eine bestehende SQL-Datenbank via ODBC abfragt. Dazu will ich den Befehl "SQLExec S,N" verwenden.

Wenn ich nun Felder abfragen will, welche das "Memoformat" verwenden (unbegrenzte Stringlänge), gibt Profan 7.5 nur die ersten paar Zeichen des Feldes aus.

Zur Verdeutlichung: Ich habe eine kleine Access-Testdatenbank angelegt (eine Tabelle mit einem Textfeld und einem Memofeld), welche ich dann in der ODBC-Steuerung eingetragen habe (DSN=Prf-Test). Die Abfrage funktioniert an und für sich fehlerfrei - das Ergebnis:

Text|Memo|
Nur ein kleiner Text...|Gro|

Das Textfeld wird korrekt widergegeben, dort wo jetzt "Gro" steht, wäre eigentlich ein grösserer, mehrzeiliger Text (ca. 500 Zeichen, die erste Zeile: "GrosserText:" ...)
Tja.

Hier noch den Quelltext von meinem Versuch:
 
declare a%
a%=@SQLInit("DSN=Prf-Test")
if a%
  SQLExec "select * from tabelle",2
  SQLDone
else
  MessageBox("Anmeldung misslungen","ODBC Anmeldung",0)
endif
end


Es wäre ja zu schön, wenn es irgendeine Hilfe gäbe...

mfg Andy Marschner


André Hurler
Datum:11.05.02 10:14 Antwortenals Email verschicken (immo@zapo.net) 


Hallo. Bei mir passiert das selbe auch beim lesen aus einer mySQL-Datenbank, mittles myODBC 3.51. Habe aber auch noch keine Antwort darauf.
Beste Grüsse, André


Roland G. Hülsmann
Datum:18.06.02 09:25 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Hallo Andy, hallo André,
in den letzten Tagen habe ich mal mit der Problematik beschäftigt.
Zur Zeit ist es in der Tat so, daß die ODBC-Schnittstelle in PROFAN weder Memo-Felder noch die sehr ähnlichen BLOBs anderer Datenbanken unterstützt. Versuche, die Schnittstelle etwas aufzubohren, sind reichlich zeitaufwändig und waren bisher nicht sonderlich erfolgreich, ich bleibe aber am Ball!

Gruß
Roland


Roland G. Hülsmann
Datum:15.08.02 00:14 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Ich habe es endlich gefunden: Zunächst der behobene Bug: In allen (!) bisher existierenden 32-Bit-PROFAN-Versionen wurden MEMO-Felder beim Auslesen nicht wie unter 16 Bit nach dm 50. Zeichen angeschnitten, sondern schon nach dem 8.

Jetzt habe ich bei dieser Gelegenheit neben der Lösung eine Erweiterung eingebaut:
MEMO-felder in dBase-Dateien werden unter SQL als "LongVarChar" behandelt. Mit der Funktion SET("SQLWidth",N%) kann die beim Auslesen genutzte Länge nun nahezu beliebig (max. 65535) eingestellt werden.

Eine Betaversion mit diesem (und anderem!) neuen Feature wird in den nächsten Tagen zum Download freigegeben!

Gruß Roland



Bernd
Datum: 15.08.02 06:21 Antwortenals Email verschicken (info@ebs-haase.de) 


Roland, das ist SPITZE. Funktionieren auch die blobs damit ?

:-)) Bernd


 Zurück zur Übersicht