AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zugriff auf Oracle BLOBs
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Oracle BLOBs

Ein Thema von hgiel · begonnen am 10. Feb 2010 · letzter Beitrag vom 19. Mai 2014
Antwort Antwort
Benutzerbild von sirius
sirius

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

Re: Zugriff auf Oracle BLOBs

  Alt 11. Feb 2010, 16: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
Gerd L

Registriert seit: 7. Mär 2007
Ort: ERZ
7 Beiträge
 
Delphi 6 Personal
 
#2

AW: Zugriff auf Oracle BLOBs

  Alt 26. Feb 2014, 09:42
Hallo sirius,
vielen Dank für Deine uoci.pas.
Du hast aber einen Fehler (?) in der Funktion AsNumber. Ich habe mal die nun bei mir laufende Funktion angehängt.
Geht nun so wie ich es will, auch mit Delphi6PE.

Gerd

Geändert von Gerd L (28. Feb 2014 um 08:39 Uhr)
  Mit Zitat antworten Zitat
Gerd L

Registriert seit: 7. Mär 2007
Ort: ERZ
7 Beiträge
 
Delphi 6 Personal
 
#3

AW: Zugriff auf Oracle BLOBs

  Alt 28. Feb 2014, 08:38
Hallo sirius,
vielen Dank für Deine uoci.pas.
Ich hatte Probleme mit den Rückgabewerten der Funktion AsNumber. Ich habe mal die nun bei mir laufende Funktion angehängt.
Geht nun so wie ich es will, auch mit Delphi6PE.

Gerd
Angehängte Dateien
Dateityp: pas AsNumber.pas (796 Bytes, 2x aufgerufen)
  Mit Zitat antworten Zitat
Gerd L

Registriert seit: 7. Mär 2007
Ort: ERZ
7 Beiträge
 
Delphi 6 Personal
 
#4

AW: Zugriff auf Oracle BLOBs

  Alt 19. Mai 2014, 12:15
Ich nutze die Unit von syrius nun auch unter Lazarus.
Eine kleine Änderung war nötig, siehe Anlage.
Und dann noch FPC 2.6.0 oder höher verwenden, wenn man das Datum benötigt.
Bug 0019075: Wrong conversion from vardate variants to string
Angehängte Dateien
Dateityp: pas AsDateTime.pas (386 Bytes, 2x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz