Einzelnen Beitrag anzeigen

alphaville

Registriert seit: 6. Dez 2006
Ort: Wurmlingen
3 Beiträge
 
Delphi 2006 Enterprise
 
#1

Wie übergebe ich einen Parameter als Feld mit DOA ?

  Alt 2. Apr 2009, 06:25
Datenbank: Oracle • Version: 10 • Zugriff über: DOA - Komponente
Hallo Zusammen,

ich habe folgendes Problem.

Ich lade eine SQL-Bfehel in ein Oracle Dataset.

z.B.:
SQL-Code:
SELECT DISTINCT
  IP.MATERIAL_ID,
  MA.ARTMAT,
  MA.MATBEZNAME,
  MA.MENGENEINHEIT ME,
  MA.ZOLLTARIFNUMMER ZN_EU,
  SF_PALO.GET_ZOLLGRPNR(:LAND_ID,ip.material_id,null) AS ZN_VN,
  :USERNAME AS USERNAME
FROM sf_palo.IMPORT_POSITIONSDATEN ip
JOIN SF_PALO.IMPORT_KOPFDATEN ik
  ON IK.IMPORT_ID = IP.IMPORT_ID
 AND IK.GESELLSCHAFT = 221
JOIN shoefactory.vARTMAT ma
  ON MA.ARTMAT_ID = ip.material_id
WHERE SF_PALO.GET_ZOLLGRPNR(2351,ip.material_id,null) < 0
ORDER BY MA.ZOLLTARIFNUMMER
und möchte den Namen (USERNAME) als Parameter aus der DOA übergeben.
Dieser Name ist z.B. "D.Duck".

Wenn ich jetzt in der DOA mit:
dataOracle.DeclareAndSet(':USERNAME',otString, string(benutzer));
arbeite, bekomme ich eine Fehlermeldung 'ORA-01036: illegal variable name/number' augetreten

Ändere ich den SQL in der Zeile :USERANME auf 'd.duck' klappt es einwandfrei...
Ich dachte immer die Funktion erstzt nur die Variable durch den übergebenen Wert...

Was mach ich falsch ???
  Mit Zitat antworten Zitat