AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

PL SQL: Zerlegen eines BLOBs

Ein Thema von sirius · begonnen am 25. Apr 2008 · letzter Beitrag vom 29. Apr 2008
 
Benutzerbild von sirius
sirius

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

Re: PL SQL: Zerlegen eines BLOBs

  Alt 28. Apr 2008, 11:03
Danke Dir, ich habe damit mal ein bisschen rumgespielt. Auf der SQL-Seite ist es (derzeit) kein Problem.
Nur ich bekomme das Array / die Liste / das Objekt nicht aus Delphi rüber. Habe es mit AnyDAC1 probiert. Ich schaffe es nicht, der Komponente das Objekt zu übergeben / bzw. ihm den Datentyp TIntegerList bekannt zu machen.

Auf .Net wollte ich jetzt nicht umsteigen.



Edit:
Viele Varianten versucht und eine ist bisher geglückt.
Ich habe deine Idee eines Tabellentyps übernommen:
create or replace type DeinSchema.TIntegerList is table of Integer; Meine Test-SP sieht mal so aus:
SQL-Code:
Create or Replace Procedure DB1.Test
(Daten in TIntegerList, Amount in Integer, Res out Integer)
is
i Integer; -- for future use *g*
begin
  res:=Daten(Amount);
end;
Und in Delphi habe ich auf Grund dieses Threads
mit den Direct Oracle Access Komponenten folgendes implementiert:
Delphi-Quellcode:
var oraObj:TOracleObject;
begin
  oraObj:=TOracleObject.Create(OracleSession1,'TIntegerList','');
  try
    oraObj.Elements[0]:=13;
    oraObj.Elements[1]:=20;

    OracleQuery1.DeclareVariable('Daten',otObject);
    OracleQuery1.DeclareandSet('Amount',otInteger,1);
    OracleQuery1.DeclareVariable('Res',otInteger);
    OracleQuery1.SetComplexVariable('Daten',oraObj);
    OracleQuery1.SQLW:='begin test(:Daten, :Amount, :Res); end;';
    ORacleQuery1.Execute;
  finally
    OraObj.Free;
  end;
  showmessage(OracleQuery1.GetVariable('Res')); // --> 13

  //OracleQuery1.Close;
end;
Funktioniert.
(Jetzt nagel ich mich hoffentlich nicht zu sehr mit den Komponenten auf Oracle fest. Wobei ich jetzt auch nicht die Machbarkeit dieser SP in mySQL beurteilen kann.)

Jetzt interessiert mich natürlich die Funktionalität dahinter. Und: Warum geht es mit ADO oder anyDAC nicht? Vielleicht war ich nur zu blöd (bei letzterem).
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:11 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