Insert eines rießen Strings in Oracle CLOB Feld??

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

  • Insert eines rießen Strings in Oracle CLOB Feld??

    Hi Leute,

    ich möchte einen String mit etwa 6000-10000 Zeichen in eine CLOB DB Feld schreiben!
    Wie geht das ich find kein schönes Beispiel??

    PHP-Code:
        $text htmlspecialchars($textENT_QUOTES);

        
    $query "INSERT INTO POLICY ";
        
    $query.= "(P_ID,P_CREATE_DATE,P_CHANGE_DATE,P_TEXT,P_STATUS,P_NAME,P_VERSION,P_SCOPE,P_CREATOR) ";
        
    $query.= "VALUES ";
        
    $query.= "(POLICY_SEQ.NEXTVAL,sysdate,sysdate,'$text',0,'$name',$version,'$gruppe','$create_user')";
        
    sql($query$oracle_conn); 
    Danke
    Mfg
    Mike

  • #2
    Hat denn sowas noch keiner gemacht?

    Kommentar


    • #3
      Warum brauchst du ein Beispiel um Daten in die Datenbank zu schreiben? Benutzt eine Suchmaschine und erkläre genau wo dein Problem liegt (für sehr große Dateimengen lassen sich über PDO auch Dateizeiger an Parameter binden).
      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

      Kommentar


      • #4
        Hallo Jungs,

        das Problem liegt im auslesen des clob Feldes!
        Im Datenfeld steht in der DB "test" jedoch wenn ich es mit PHP auslese, bekomme ich immer für den jeweiligen Tuppel "Object id #1"/ "Object id #2" usw. zurück! Wie schaffe ich es denn den tatsächlichen Wert der im DB-Feld steht aus zu lesen!??

        Schöne Grüße
        Michael

        Kommentar


        • #5
          Hat sich schon erledigt

          PHP-Code:
          $query "SELECT * FROM POLICY";
              
          $res sql($query,$oracle_conn);

              while (
          OCIFetch($res) ) 
              {
                  
          $p_id ociresult($res,"P_ID");
                  
          $policy[$p_id]["p_text"] = ociresult($res,"P_TEXT")->load();
                  
          $policy[$p_id]["p_create_date"] = ociresult($res,"P_CREATE_DATE");
                  
          $policy[$p_id]["p_name"] = ociresult($res,"P_NAME");
                  
          $policy[$p_id]["p_scope"] = ociresult($res,"P_SCOPE");
              } 
          Diese ->load() war der schlüssel!

          MFG
          Morph

          Kommentar


          • #6
            Kaum hat man ein Problem gelöst kommt das nächste!

            Ich nen String mit 5500 Zeichen und ich will das in den clob prügeln, jetzt bekomm ich immer von der DB zurück "String literal too long" !

            Ich checks nicht wieso????

            MFG
            MIKE

            HIER MAL DEN CODE:
            PHP-Code:
            INSERT INTO POLICY
              
            (P_ID,
               
            P_CREATE_DATE,
               
            P_STATUS,
               
            P_NAME,
               
            P_VERSION,
               
            P_CREATOR,
               
            P_TEXT)
            VALUES
              
            (POLICY_SEQ.NEXTVAL,
               
            sysdate,
               
            0,
               
            'Policy 3',
               
            0,
               
            'testuser',
               
            '5000 ZEICHEN STING!!!!!!!!'
            Zuletzt geändert von Morpheus2100; 30.11.2007, 08:12.

            Kommentar


            • #7
              Ich habe schon länger nicht mehr mit Oracle gearbeitet, deshalb bin ich mir nicht mehr ganz sicher, aber ich glaube, das geht nicht direkt, sondern du brauchst dazu Package dbms_lob. Mehr dazu findest du vielleicht in LOB - Oracle Large Object. Habs allerdings nicht genau gelesen.
              Gruss
              H2O

              Kommentar


              • #8
                Original geschrieben von H2O
                Ich habe schon länger nicht mehr mit Oracle gearbeitet, deshalb bin ich mir nicht mehr ganz sicher, aber ich glaube, das geht nicht direkt, sondern du brauchst dazu Package dbms_lob. Mehr dazu findest du vielleicht in LOB - Oracle Large Object. Habs allerdings nicht genau gelesen.
                Hab jetzt das mal gefunden und es klappt auch!

                HIER KLICKEN

                DANKE
                Mfg
                Morph

                Kommentar

                Lädt...
                X