Einzelnen Beitrag anzeigen

kama

Registriert seit: 27. Feb 2004
5 Beiträge
 
#1

Bilder in DB erzeugt ORA-22275

  Alt 27. Feb 2004, 09:52
Hallo,

ich möchte mit folgernder procedure Bilder in eine DB schieben.
Ich benutze Delphi 6 Ent. und eine Oracle 8i DB. Die Tabelle hat folgendes Format:

SQL-Code:
create table BILDER
(
  BILDNAME VARCHAR2(50) not null,
  BILDBINARY BLOB
)
Mit der auskommentierten Zeile lief es zwar, aber mache Bilder waren zum Teil
kaputt oder Farbverfälscht. Nun habe ich gelesen, daß ftOraBlob speziel für Oracle 8 Tabellen ist.
Ich bekomme da aber eine Fehlermeldung 'ORA-22275: invalid LOB locator specified'.

Irgendwo habe ich gelesen, daß ich erst einen Lob Locator öffnen muß, aber wie ?

Gruss Karsten

Delphi-Quellcode:
procedure TForm1.mnuLoadClick(Sender: TObject);
var
  Jpg : TJpegImage;
  Stream : TMemoryStream;
  FileExt : string;
begin
  if dlgOpenPicture.Execute then begin
    Jpg := nil;
    Stream := nil;
    try
      Stream := TMemoryStream.Create;
      Jpg := TJpegImage.Create;
      Jpg.LoadFromFile( dlgOpenPicture.FileName );
      Image1.Picture.Assign( Jpg );
      Jpg.SaveToStream( Stream );
      Stream.Position := 0;
// Query1.ParamByName( 'PBildBinary' ).LoadFromStream( Stream, ftBlob );
      Query1.ParamByName( 'PBildBinary' ).LoadFromStream( Stream, ftOraBlob );
      Query1.ParamByName( 'PBildname' ).AsString := ExtractFilename( dlgOpenPicture.FileName );
      Query1.Prepare;
      Query1.ExecSQL;
    except
      jpg.Free;
      Stream.Free;
      raise;
    end;
    jpg.Free;
    Stream.Free;
  end;
end;
[edit=sakura] [sql]-Tags. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat