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
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.