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