Thema: Delphi Zugriff auf Oracle BLOBs

Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Zugriff auf Oracle BLOBs

  Alt 11. Feb 2010, 17:49
Ich hatte schonmal vor eine Weile mit dem OCI rumgespielt. Jetzt habe ich es nochmal rausgekramt und verwendbar* gemacht. Die Unit liegt im Anhang. Die Programmierung ist katastrophal, sollte aber mit jeder Delphi-Version funktionieren. Und ein kleines Blob kann man damit auch lesen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  OCI:=TOCI.Create;
  OCI.Database:='meineDatenbank'; //wie im Instantclient/TNSNames.ora
  OCI.UserName:='ich';
  OCI.Password:='test';
  OCI.Connect;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  OCI.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
    Dat:TFileStream;
begin
  OCI.SQL.Text:='Select * from *';
  OCI.SQLOpen;
  Dat:=TFileStream.Create('D:\test.dat',fmcreate); //für det blob-dingens
  try
    repeat
      for i:=0 to OCI.DataCount-1 do
      begin
        xyz:=OCI.Data[i].Name; //Spaltenname
        
        abc:=OCI.Data[i].Value; //Spalteninhalt in Variablen speichern
        //oder
        OCI.Data[i].SaveToStream(dat); //Spalteninhalt in Stream speichern
      end;
    until not OCI.Next;
  finally
    Dat.Free;
    OCI.SQLClose;
  end;
end;

*) wenn man das so nennen mag
Angehängte Dateien
Dateityp: pas uoci_774.pas (24,7 KB, 29x aufgerufen)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat