I am having some
problems with SQLTransformer not commiting inserts into a database. I am
running Cocoon 2.1 and MS SQLServer.
My pipeline looks
like:
<map:match
pattern="CodeCreate-add">
<map:generate type="request"/>
<map:transform type="xslt" src="">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:transform type="sql">
<map:parameter name="use-connection" value="{global:db-connection}"/>
<map:parameter name="show-nr-of-rows" value="true"/>
<map:parameter name="isupdate" value="true"/>
</map:transform>
<!-- Redirect back to the table display page -->
<map:redirect-to uri="CodeTableList"/>
</map:match>
<map:generate type="request"/>
<map:transform type="xslt" src="">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:transform type="sql">
<map:parameter name="use-connection" value="{global:db-connection}"/>
<map:parameter name="show-nr-of-rows" value="true"/>
<map:parameter name="isupdate" value="true"/>
</map:transform>
<!-- Redirect back to the table display page -->
<map:redirect-to uri="CodeTableList"/>
</map:match>
And CodeAddTest.xsl
looks like:
<xsl:stylesheet
version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sql="http://apache.org/cocoon/SQL/2.0">
<xsl:param name="CodeType"/>
<xsl:param name="CodeValue"/>
<xsl:template match="/">
<page>
<execute-query xmlns="http://apache.org/cocoon/SQL/2.0">
<query>
INSERT INTO Codes (CodeType, CodeValue)
VALUES ('<xsl:value-of select="$CodeType"/>', '<xsl:value-of select="$CodeValue"/>')
</query>
</execute-query>
</page>
</xsl:template>
</xsl:stylesheet>
xmlns:sql="http://apache.org/cocoon/SQL/2.0">
<xsl:param name="CodeType"/>
<xsl:param name="CodeValue"/>
<xsl:template match="/">
<page>
<execute-query xmlns="http://apache.org/cocoon/SQL/2.0">
<query>
INSERT INTO Codes (CodeType, CodeValue)
VALUES ('<xsl:value-of select="$CodeType"/>', '<xsl:value-of select="$CodeValue"/>')
</query>
</execute-query>
</page>
</xsl:template>
</xsl:stylesheet>
The values to be
inserted are generated from a form and passed in as
request parameters. At the end of the pipeline it redirects to a list
page that shows all of the values in the database. The problem is that the
new values aren't being inserted. If I remove the redirect (and replace it
with a static page for example) then the insert works fine.
Any
ideas?
Thanks,
Dean
