Skip to content

SnapShot Connector EmbeddedSQL

idsecurity edited this page Dec 18, 2015 · 8 revisions

Necessary namespaces:

<namespace-def name="cmd" value="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsCommandProcessor"/>
<namespace-def name="query" value="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsQueryProcessor"/>
<namespace-def name="ssc" value="urn:dirxml:ssc"/>

Get a value from DB using EmbeddedSQL:

<rule>
 <description>Get current values from DB</description>
 <conditions>
  <and/>
 </conditions>
 <actions>
  <do-set-local-variable name="lv-query" scope="policy">
   <arg-node-set>
    <token-xml-parse>
     <token-text xml:space="preserve">&lt;nds dtdversion="2.0" ndsversion="8.x">
&lt;input xmlns:ssc="urn:dirxml:ssc">
&lt;ssc:sql ssc:class-cfg="Person">
&lt;ssc:statement ssc:query="true">select EMAIL from IST.EMAIL where PERSONID = '$lv.workforceid$'&lt;/ssc:statement>
&lt;/ssc:sql>
&lt;/input>
&lt;/nds></token-text>
    </token-xml-parse>
   </arg-node-set>
  </do-set-local-variable>
  <do-set-local-variable name="executeSQLquery" scope="policy">
   <arg-node-set>
    <token-xpath expression="query:query($destQueryProcessor,$lv-query)"/>
   </arg-node-set>
  </do-set-local-variable>
 </actions>
</rule>

Call an Oracle function using EmbeddedSQL:

<rule>
 <description>Prepare embedded SQL to run the update command</description>
 <conditions>
  <and/>
 </conditions>
 <actions>
  <do-set-local-variable name="lv.sqlquery.update" scope="policy">
   <arg-node-set>
    <token-xml-parse>
     <token-text xml:space="preserve">&lt;nds dtdversion="2.0" ndsversion="8.x">
    &lt;input xmlns:ssc="urn:dirxml:ssc">
        &lt;ssc:sql ssc:class-cfg="Person">
            &lt;ssc:statement event-id="0">
            DECLARE returnValue VARCHAR2(100); BEGIN returnValue := fnILMWrite('$lv.workforceid$', NULL,'$lv.email$',NULL,'$lv.date$'); END;
            &lt;/ssc:statement>
        &lt;/ssc:sql>
    &lt;/input>
&lt;/nds></token-text>
    </token-xml-parse>
   </arg-node-set>
  </do-set-local-variable>
 </actions>
</rule>
<rule>
 <description>Execute SQL UPDATE query</description>
 <conditions>
  <and/>
 </conditions>
 <actions>
  <do-set-local-variable name="executeSQLupdate" scope="policy">
   <arg-node-set>
    <token-xpath expression="cmd:execute($destCommandProcessor,$lv.sqlquery.update)"/>
   </arg-node-set>
  </do-set-local-variable>
  <do-veto/>
 </actions>
</rule>

Clone this wiki locally