[ http://issues.apache.org/jira/browse/IBATISNET-140?page=comments#action_12367372 ]
Gilles Bayon commented on IBATISNET-140: ---------------------------------------- In the unit tests, the swap procedure (prc_SWAP_EMAIL_ADDRESS) has been runned with success <procedure id="SwapEmailAddresses" parameterMap="swap-params"> prc_Swap_Email_Address </procedure> see TestProcedureWithOutputParameters in IBatisNet.DataMapper.Test.NUnit.SqlMapTests.Oracle.ProcedureTest.cs > procedure output parameters do work for oracle provider > ------------------------------------------------------- > > Key: IBATISNET-140 > URL: http://issues.apache.org/jira/browse/IBATISNET-140 > Project: iBatis for .NET > Type: Bug > Components: DataAccess > Versions: DataAccess 1.7 > Environment: windows xp vs .NET C#, Oracle ODP.NET for 10g > Reporter: henry lu > > I tried email swap example and the result with two emails not swaped. > I have my code: > create or replace procedure > ps_swap_email_address (inout_email_1 in out varchar2, inout_email_2 in out > varchar2) > is > tmp_e varchar2(120); > begin > tmp_e := inout_email_1; > inout_email_1 := inout_email_2; > inout_email_2 := tmp_e; > end; > / > <parameterMap id="swap_result" class="System.Collections.Hashtable"> > <parameter property="email_1" column="inout_email_1"/> > <parameter property="email_2" column="inout_email_2"/> > </parameterMap> > <statement id="call_ps_swap_email_address" parameterMap="swap_result"> > call ps_swap_email_address(?,?) > </statement> > string first = "[EMAIL PROTECTED]"; > string second = "[EMAIL PROTECTED]"; > Hashtable map = new Hashtable(); > map.Add("email_1", first); > map.Add("email_2", second); > sqlMapper.QueryForObject("call_ps_swap_email_address", map); > Console.WriteLine("1="+map["email_1"].ToString()); > Console.WriteLine("2="+map["email_2"].ToString()); > But the results didn't swap the email values. > If I change the sqlmap.xml file to: > <parameterMap id="swap_result" class="System.Collections.Hashtable"> > <parameter property="email_1" column="inout_email_1" direction="InputOutput" > /> > <parameter property="email_2" column="inout_email_2" direction="InputOutput" > /> > </parameterMap> > I go the following errors: > Object reference not set to an instance of an object. > at IBatisNet.DataMapper.MappedStatements.MappedStatement.RetrieveOutputParame > ters(RequestScope request, IDalSession session, IDbCommand command, Object > resul > t) > at IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(Re > questScope request, IDalSession session, Object parameterObject, Object > resultOb > ject) > at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObjec > t(IDalSession session, Object parameterObject, Object resultObject) > at IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObjec > t(IDalSession session, Object parameterObject) > at IBatisNet.DataMapper.SqlMapper.QueryForObject(String statementName, Object > parameterObject) > -Henry -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira