Announcement

Collapse
No announcement yet.

DBExpress Blob-Felder und MS-SQL 2005

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DBExpress Blob-Felder und MS-SQL 2005

    Hallo Leute,

    ich hatte die IBX Komponenten mit Interbase 6.0 im Einsatz. Nun stelle ich gerade mit Delphi 7 auf DBExpress um. Dabei möchte ich möglichst Standard-SQL nutzen um die meisten Server bedienen zu können. Bei Spezialitäten, wie z.B. Blob Felder speichern, frage ich auf den Datenbankserver ab und möchte entsprechend diese Sonderbehandlung abfangen.

    Wie aber kann ich ein JPG-File bzw. ein XML-Textfile in Blobfelder speichern? Welchen Datentyp hat das Feld dann bei z.B. MS-SQL Server? Mit VARBINARY oder IMAGE hatte es nicht funktioniert. Idealerweise gäbe es ein Blob Feld, welches beide Typen aufnehmen kann.

    z.B. Report_Bin ist vom Typ: VARBINARY (8000)

    Code:
    function ExportBlobToFile(sFileName: String):Boolean;
    var m:TMemoryStream;
        DBQuery:TSQLQuery;
    begin
    Try
    
       DBQuery:=TSQLQuery.Create(nil);
       DBQuery.SQLConnection:=getDBConnection;
       DBQuery.SQL.Clear;
       DBQuery.SQL.Add('Select * from ' + getDBTabelle+ ' where REPORT_BIN_ID = '+#39+getID+#39);
       DBQuery.Open;
    
       m:=TMemoryStream.Create;
    
       TBlobField(DBQuery.FieldByName('Report_Bin')).SaveToStream(m);
    
       m.Position:=0;
       m.SaveToFile(sFileName);
    
       DBQuery.Close;
    
       FreeAndNil(m);
       result:=True;
    
       result:=False;
    except
    
    end;

    Gruß

    Axel
Working...
X