![]() |
Datenbank: Oracle • Version: 10 • Zugriff über: das ist die Frage
Zugriff auf Oracle BLOBs
Hallo,
ich würde gerne mittels DELPHI (7 Personal oder Turbo Edition) auf Dateien zugreifen, die in einer Oracle-DB als BLOB abgelegt wurden! Frage: Was benötige ich - mit Delphi 7 Personal -> DB-Kompontenen? - für den Zugriff auf die Oracle-DB und hat den Zugriff (ich möchte die gespeicherten Dateien auslesen und lokal speichern) jemand schon einmal realisiert? Gruß HG |
Re: Zugriff auf Oracle BLOBs
Das wird schwierig. Du könntest mittels import der ADO/OLE DB kompos und installierten Oracle ADO-Client das versuchen.
Wenn man schon zig-Tausend € für Oracle ausgegeben hat, wie wär es denn mit einer Pro-Version von Delphi? |
Re: Zugriff auf Oracle BLOBs
Zitat:
gruß K-H |
Re: Zugriff auf Oracle BLOBs
@Bernhard
Es gibt doch auch kostenlose ORA-Versionen. In der TurboVersion könntest Du es mit ![]() [OT] Zitat:
[/OT] |
Re: Zugriff auf Oracle BLOBs
Zitat:
Und außerdem braucht man dazu die grundlegenden Datenbankkomponenten (bspw: TDataSet), welche in der Personal Version von Delphi nicht dabei ist. |
Re: Zugriff auf Oracle BLOBs
Zitat:
Desweiteren sprach ich von der TurboVersion, und nicht von der Personal Version. |
Re: Zugriff auf Oracle BLOBs
Zitat:
|
Re: Zugriff auf Oracle BLOBs
Zitat:
|
Re: Zugriff auf Oracle BLOBs
[ot]
@s-off Nee wir sind nicht ein und die selbe Person. Aber wenn er seine Brötchen in einem ähnlich tickendem Unternehmen verdient, wie ich das Vergnügen habe, hat er mein vollstes Mitgefühl. bevor ich mich hier um Kopf und Kragen schreibe... Grüße K-H [/ot] |
Re: Zugriff auf Oracle BLOBs
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
Re: Zugriff auf Oracle BLOBs
Danke für alle Beiträge - hatte in letzter Zeit andere Sorgen!
Werde mich jetzt wieder an das Thema ran machen! Gruß, hgiel |
AW: Zugriff auf Oracle BLOBs
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 |
AW: Zugriff auf Oracle BLOBs
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
AW: Zugriff auf Oracle BLOBs
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 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 by Thomas Breitkreuz