Rich Text Field nach BLOB

  • Hallo an alle


    Ich poste mal hier einen Teil von meinem Code der ein doc in eine MySQL Tabelle exportieren soll.


    Das problem tritt bei Feld von Typ RichTextItem.


    Dim sourceBody As NotesRichTextItem
    Set sourceBody = doc.GetFirstItem("tekst")
    qry.sql = "INSERT INTO test(slova,datum,slika) VALUES('"+naslov+"','"+dat+"','"+sourceBody+"')"


    Was ich eigentlich will ist das das bild das im RichTextItem ist und der text der ebenfals im NRTI ist in das feld slika in MySQL kopiert werden.


    Geht das ueberhaupt so?


    Ich kriege die Fehlermeldung TypeMismatch die ich verstehe aber nicht weiss wie ich sie umgehen kann?


    Danke im voraus


    P.S.
    Habt gedult mit uns Anfaengern

  • Hm ok ich lese mal nach.


    Ich habe es geschaft mit sourceBody.GetFormattedText(1,80) den text aus dem RTFeld zu exportieren, aber wie soll ich ein Bild exportieren? sourceBody.?????


    Danke

  • Hi,
    jetzt habe ich es geschaft das attachment(bild im jpeg format) au den HardDrive zu speichern. Wie muss ich jetzt vorgehen?


    Wie soll ich das file jetzt ins blob schaffen?


    Danke

  • Die werden auf verschiedene art und weise eingefuegt aus verschiedenen ProgrammierSprachen aber halt immer mit INSERT!


    Hat den keiner sowas gemacht?


    Jetzt bin ich noch verwirter als heute morgen!

  • Hallo


    Also ich hab nicht so viel Erfahrung mit Lotus Script.


    Jedoch hab ich mal einen Java Agenten geschrieben der ein Textfile als BLOB spreichert.
    Ich hole eine Datei aus einem Notes Doc und schreibe dann den Inputstream in die MySql Tabelle. Hier ein Teil aus dem Code:


    com.mysql.jdbc.Driver mysqlDBDriver;
    Connection con = DriverManager.getConnection( "jdbc:mysql://"+hostname+"/"+database+"", username, password );
    stmt = con.createStatement();
    con.setAutoCommit(false);
    con.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);


    ...
    ...
    ...


    EmbeddedObject obj = settdoc.getAttachment("local.cf");


    String sqlcommand2 = "INSERT INTO sa_config (config_data, datetime) VALUES ( ?, ?)";
    insertStatement = con.prepareStatement(sqlcommand2);


    InputStream is = obj.getInputStream();
    byte[] buffer = new byte[1024];
    int x = 0;
    while (true) {
    int nbytes = is.read(buffer);
    x = x+nbytes;
    if (nbytes == -1) break;
    }
    is = file.obj.getInputStream();

    insertStatement.setBinaryStream(1, is, x);
    insertStatement.setString(2, datum);
    insertStatement.execute();

    con.commit();
    con.close();


    ...
    ...


    Hoffe das hilft dir weiter

  • Danke ducati aber ich es mit LS hinbekomen dank einer SampleDb von Andre Guirrard, alllerdings hibt es da ein problem. Es werden alle attachments aus dem view den ich benutze nach MySql verfrachtet. Ich will nur die att aus meinem uidoc.


    Hier ein teil des codes der die datei in c:\temp kreirt und sie von da
    nach MySql schickt und sie im C loescht:

    Do While src.Fetch(flNotes)
    ' At this point do your stuff with the "regular" Notes fields.
    ' E.g. copy the Notes fields to the RDB.
    Set flFiles = New LCFieldlist
    Call trg.Select(Nothing, 1, flFiles )
    Do While trg.Fetch(flFiles)
    'flFile fieldlist has Contents BLOB field you can insert in relational table.
    ' The FileName property may also be useful.
    ' At this point copy one attachment to the RDB
    Call flDest.MapName(flFiles,"Contents,Filename,Timestamp","slika,slova,datum")
    Call lcconDest.Insert(flDest)
    Loop
    trg.Action LCACTION_TRUNCATE ' delete the extracted Notes attachments
    Loop

    'Prekid LC Veza
    src.Disconnect
    trg.Disconnect
    lcconDest.Disconnect
    [/code]
    Das ganze ist in einem agent, bin mir nicht sicher wie ich die properties vom agetn einstellen soll.
    Fals einer einen Vorschlag hat her damit.


    Danke

  • Hallo sorry fuer die verspaetung,


    ich lade hier zwei dateien hoch die eine ist der agent und die andere der script der benutzt wird um auf die DECS connection zuzugreifen.


    Danke im voraus

  • Siehe in der Designer Hilfe zum Connector Notes:



    Also solltest du auch noch das Metadata Feld Record setzen um ein bestimmtes Dokument zu definieren

  • Wenn ich
    src.Record=uidoc.Document


    oder


    src.Record=uidoc.Document
    hinzufuege dan kriege ich die Message


    Instance RECORD does not exist!


    Im help steht das das die eigenschaften von LEI sind da bin ich ein bisschen verwirt soviel ich weiss muss man LEI kaufen? Aber die anderen felder sind zugaengig. Wieso das feld Record nicht?


    Danke

  • Siehe ebenfalls in der Hilfe:

    Zitat

    The Lotus Connector for Notes can be used with IBM Lotus Enterprise Integrator for Domino (LEI) and Lotus Connector LotusScript Extensions (LC LSX)


    Vermutlich wird er dann anders heissen. Such dir doch mal den Lotus Connector LotusScript Extensions Guide und schau dort nach

  • Im Lotus Connector LotusScript Extensions Guide steht auch nicht viel mehr als im Help.


    Es werden immer noch alle attachments aus der db nach MySql exportiert.


    Hilfe