none
Saving to Oracle DB using WCF Oracle adapter RRS feed

  • Question

  • My message structure is this:

    <Item>
    <ItemHeader>
    <id>1234</>
    <Details>
    <Detail>
    <Id>1</>
    <Name> Test </>
    </Detail>
    <Detail>
    <Id>1</>
    <Name> Test </>
    </Detail>
    </Details>
    <Img>
       base64encoded image string
    </img>

    I want to store this message to a Oracle DB in a transaction by calling a stored procedure.
    1. But now the stored procedure has to be called for n times if I have n records in the details ? Is that possible with the adapter ? How is that done?
    2. Also the image is a base64 encoded string ? Can I pass this as a parameter to the stored procedure ?  Waht parameter type it should be ? how will the adapter handle this ?
         (While reading I found the adapter  converted the blob to base64 encoded string by itself)

     

     

     

     

     

     

     

     

     

    • Moved by Ben Cline1Moderator Thursday, April 28, 2011 3:21 PM related to adapters (From:BizTalk Server General)
    Tuesday, April 26, 2011 10:23 PM

Answers

  • Almost all XML encodes binary as base64string.  If you need to change this, you may need to do it in a custom pipeline component.  Not sure what orcale will expect or be able to handle.  Normally all the database adapters let you create mutliple nodes for the stored procedures and it will call them all together in a single transaction.  I would try this.  I'm actually looking into doing this with the WCF-SQL Adapter myself, but have not had time to test it.  The classic SQL and DB2 adapters both allowed this.  The order in which the SPs appeared in the XML document dicated their order of execution and normally doing all the parents first and children after in a single document works fine.

    Kind Regards,

    -Dan


    If this answers your question, please Mark as Answer
    Tuesday, April 26, 2011 11:39 PM