oracle prozedur aufruf

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • oracle prozedur aufruf

    Hallo,

    Ich rufe mittels php eine Oracle prozedur auf. Diese wurde fehlerfrei in oracle erstellt. Sie fügt lediglich eine Zeile in eine Tabelle ein.

    Jedoch erhalte ich bei dem Versuch die Prozedur über php aufzurufen folgende Fehlermeldung:

    PHP-Code:
    ORA-06550line 1column 89:PLS-00103Encountered the symbol \"\" 
    when expecting one of the following: ( - + case mod new not null 
    others avg count current exists max min prior sql stddev sum variance
    execute
     forall merge time timestamp interval date pipeThe symbol \"\"
     was ignored.ORA-06550: line 2, column 117:PLS-00103: E 
    Kann leider nicht erkennen worauf diese Meldung zeigt, oder wo der Fehler liegen soll.
    Das Problem ist das ich mit ocibindbyname ca 40 variablen "anhänge" was das ganze etwas unübersichtlich macht.

    Kann mir jemand helfen?
    Zuletzt geändert von galaxy2; 28.11.2005, 11:51.

  • #2
    Die Zahlenangaben für Zeile und Spalte geben die Stelle im PL/SQL-Block an, an der der Fehler aufgetreten ist.
    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

    Kommentar


    • #3
      Hab mir gerade mal die Insertprozedur nur für die not null Felder der Tabelle angepasst. Das sind nun 7 Variablen die als "in" mitgegeben werden.

      jedoch tauch auch hier wieder die selbe Fehlermeldung auf:

      ORA-06550: line 1, column 108:PLS-00103: Encountered the symbol \"\"
      when expecting one of the following: ( - + case mod new not null others
      avg count current exists max min prior sql stddev sum variance execute forall merge time timestamp interval date pipeThe symbol \"\" was ignored.

      in der ersten Zeile steht gerade mal create or replace package xxx as
      un es gibt keine weieteren Zeichen in dieser ersten Zeile, also es sthet nichts an der Stelle 108.

      Die Procedur wurde ja erfolgreich erstellt. Also muss es wohl mit dem Aufruf zusammenhängen.

      erledige das folgendermassen:
      PHP-Code:
      $insert "begin test_insertData.new_test(:bind1,...,bind7) end;";

      ocibindbyname($sql_fund_update,":bind1",$upd_1,32);
      ....
      ocibindbyname($sql_fund_update,":bind7",$upd_7,32); 
      $upd_1 bis $upd_7 sind php-vars die bereits existieren(aus Eingabefeldern).
      Sie sind von type varchar oder number


      $result = @ociexecute($insert,OCI_DEFAULT);

      So wird es ausgeführt.

      Ich denke das der fehler daran liegt, dass ich nicht weiss wo ich die ' Zeichen der varchartypen einfügen soll. In der procedur, oder in php.

      Die Fehlermeldung hilft mit irgendwie nicht.

      Danke für Tipps

      Kommentar

      Lädt...
      X