ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From IBATIS <venkatesh.madha...@wipro.com>
Subject Re: Please help - Using IBatis in RAD 7.0
Date Tue, 23 Oct 2007 11:39:27 GMT

Hello my dear friend,

First of all thanks a lot for your reply. I got that solved by using a
update instead of queryforObject as you said. I am using the sqlmapper
approach only even earlier.

One question, in case my procedure is returning a resultset will this update
statement holds good for that too? Is it something like we need to call only
update in case of stored procedures. Why queryForObject is failing.

Regards
Venkat



Abhigyan Agrawal1 wrote:
> 
> Hi Venkat,
> 1. You can refer to the dtd which is put locally. That is definitely not 
> the problem.
> 2. As you have stated, you are using the jar files from jpetstore. This 
> and the fact that your program is able to find all the classes and methods 
> leads me to safely rule out any jar problem. (Otherwise you won't find the 
> method itself instead of timeout).
> 3. The transactionManager description is correct. I don't think you need 
> to add any more thing.
>         I am not able to throw more light on the issue as I am not able to 
> replicate the problem. However, you may want to try and make an instance 
> of sqlMapper yourself (instead of DAO) and  then call the procedure. i.e., 
> something like below -
>  
>         SqlMapClient sqlMapper;
>         Reader reader = null;
>                 try {
>                         reader = Resources
>                                         .getResourceAsReader("
> com/nwa/safetrac/domain/common/dao/sqlmap/SqlMapConfig.xml");
>                 } catch (IOException e1) {
>                         e1.printStackTrace();
>                 }
> 
>                 sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
>                 sqlMapper.queryForObject("retrieveBagTagInfoSP", 
> hshBagTag); 
> 
> and you may also want to try update method as well. iBATIS also makes 
> callable statement, so you should debug the last statement and see what 
> happens.
> I am sure debugging would help as this is clearly not a problem with 
> synatax. 
> 
> Cheers,
> Abhigyan Agrawal
> 
> 
> 
> 
> IBATIS <venkatesh.madhavan@wipro.com> 
> 23/10/2007 15:18
> Please respond to
> user-java@ibatis.apache.org
> 
> 
> To
> user-java@ibatis.apache.org
> cc
> 
> Subject
> Re: Please help - Using IBatis in RAD 7.0
> 
> 
> 
> 
> 
> 
> 
> Hi Abhigyan,
> 
> Thank you very much for your detailed response. Even now there is no luck
> for me. I am using the IBatis for the first time. I am calling my DAO from 
> a
> stateless session bean of Container managed persistence. This DAO uses
> SQLMapper to call the stored procedure.
> 
> And I am not using any timeout explicitly. Also please note that when I
> invoke the same SP from an ordinary Java Programme with CallableStatement,
> it is getting executed. 
> 
> For more detail please see the below sqlmapconfig.xml entry as below.
> 
> <!DOCTYPE sqlMapConfig 
>     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" 
>     "sql-map-config-2.dtd"> (I copied sql-map-config-2.dtd from the 
> website
> and referring it locally. Is this how we need to do? )
> 
> <sqlMapConfig>
> 
>                  <properties
>  
> resource="com/nwa/safetrac/domain/common/dao/sqlmap/SqlMapConfig.properties"
> />
>                  <!-- 
>                 <transactionManager type="JDBC">
>                 <dataSource type="JNDI">
>                 <property name="DataSource" 
> value="jdbc/SafetracDatasource" /> 
>                 </dataSource> 
>                 </transactionManager>
>         -->
> 
> 
> Is there anything wrong with the below transaction manager description. Do 
> I
> need to add / modify anything additionally.
>                  <transactionManager type="JDBC">
>                                  <dataSource type="SIMPLE">
>                                                  <property 
> name="JDBC.Driver" value="${driver}" />
>                                                  <property 
> name="JDBC.ConnectionURL" value="${url}" />
>                                                  <property 
> name="JDBC.Username" value="${username}" />
>                                                  <property 
> name="JDBC.Password" value="${password}" />
>                                  </dataSource>
>                  </transactionManager>
> 
>                  <sqlMap 
> resource="com/nwa/safetrac/domain/common/dao/sql/Bags.xml" />
> 
> </sqlMapConfig>
> 
> Abhigyan : - It would be of great help if you could find out the problem. 
> if
> you could find some clue and based on the above or if the information is 
> not
> enough please let me know. I shall send you the required things.
> 
> Could you please check whether the .jar files what I am using is the 
> correct
> one or I need to use something else?
> 
> Thanks
> Venkat
> 
> 
> Abhigyan Agrawal1 wrote:
>> 
>> Hi Venkat,
>>         The first error you are getting is definitely because of wrong 
>> jdbc type. 
>> I tried the code you have given and it gives the same error (register 
>> output parameters failed) until I change it to VARCHAR instead of 
>> VARCHAR2. After doing the change, the code is running through iBATIS 
>> displaying expected results.  Which database are you using? 
>>         One more thing, you can remove resultClass from procedure as you 
> 
>> are already giving parameterClass of the same map.
>>         As far as the transaction is getting timed out is concerned, are 
> 
>> you providing some timeout values yourself? because I am not and the 
>> procedure is executing without problem.
>> 
>> Cheers,
>> Abhigyan Agrawal 
>> 
>> 
>> 
>> 
>> IBATIS <venkatesh.madhavan@wipro.com> 
>> 20/10/2007 16:45
>> Please respond to
>> user-java@ibatis.apache.org
>> 
>> 
>> To
>> user-java@ibatis.apache.org
>> cc
>> 
>> Subject
>> Re: Please help - Using IBatis in RAD 7.0
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> Larry,
>> 
>> Sorry for not being clear with my queries. I have refined my query as 
>> below.
>> Please help me out.
>> 
>> I have a stored procedure as below.
>> 
>> CREATE OR REPLACE procedure mytest
>>                  (
>>                  In_Bag_ID      in     varchar,
>>                  In_Station     in     varchar,
>>                  In_Crtn_Dtm    in     varchar,
>>                  Out_Bag_Data          out varchar2,
>>                  Out_Return_Cde        out number)
>> is
>> Begin
>>                  Out_Bag_Data := 'success';
>>                  Out_Return_Cde := 0;
>> End mytest;
>> /
>> 
>> 
>> My .xml resource file entry is as below
>> 
>>                  <procedure id="retrieveBagTagInfoSP" 
>> parameterClass="java.util.HashMap"
>> resultClass="java.util.HashMap">
>>                  {call mytest 
>> (#bagid,javaType=java.lang.String,jdbcType=VARCHAR,mode=IN#,
>> #apcde,javaType=java.lang.String,jdbcType=VARCHAR,mode=IN#,
>> #crtndtm,javaType=java.lang.String,jdbcType=VARCHAR,mode=IN#,
>> #bagdata,javaType=java.lang.String,jdbcType=VARCHAR2,mode=OUT#,
>> #returncode,javaType=java.lang.Integer,jdbcType=INTEGER,mode=OUT#)}
>>                  </procedure>
>> 
>> My Calling java programme is as below.
>> 
>> hshBagTag.put("bagid","");
>> hshBagTag.put("apcde","");
>> hshBagTag.put("crtndtm","");
>> hshBagTag.put("bagdata",new String(""));
>> hshBagTag.put("returncode", new Integer(0)); 
>> 
>> SqlMapperClient.queryForObject("retrieveBagTagInfoSP", 
>> hshBagTag,hshBagTag);
>> 
>> While I invoke the stored procedure, I am getting the following error
>> 
>> --- The error occurred in 
> com/nwa/safetrac/domain/common/dao/sql/Bags.xml. 
>> 
>> --- The error occurred while executing query procedure. 
>> --- Check the {call mytest (?, ?, ?, ?, ?)}. 
>> --- Check the output parameters (register output parameters failed). 
>> --- Cause: java.sql.SQLException: Invalid column type
>> 
>> 
>> In the same above I changed the 
>> 
>> #bagdata,javaType=java.lang.String,jdbcType=VARCHAR2,mode=OUT#, 
>> to
>> #bagdata,javaType=java.lang.String,jdbcType=VARCHAR,mode=OUT#, 
>> 
>> and
>> #returncode,javaType=java.lang.Integer,jdbcType=INTEGER,mode=OUT#
>> to
>> #returncode,javaType=java.lang.Double,jdbcType=DECIMAL,mode=OUT#)
>> 
>> Now, the above error was not occurring but the transaction is getting 
>> timed
>> out. 
>> 
>> Could you please tell me where I am going wrong,  I am badly in need of 
> a
>> help.
>> 
>> My Environment is as below.
>> 
>> Development Environment  -  RAD 7.0 (Websphere Application server 6.0)
>> Ibatis jar files - ibatis-common-2.jar / ibatis-sqlmap-2.jar (i got it 
>> from
>> jpetstore example package)
>> 
>> Regards
>> Venkat
>> 
>> 
>> Larry Meadors-2 wrote:
>>> 
>>> I know both work, but without seeing any code...it's impossible for us
>>> to see what your specific issue is.
>>> 
>>> Larry
>>> 
>>> 
>>> On 10/19/07, IBATIS <venkatesh.madhavan@wipro.com> wrote:
>>>>
>>>> Hi There,
>>>>
>>>> I am facing issues while I invoke a sql / stored procedure in RAD 7.0
>>>> using
>>>> Ibatis.
>>>>
>>>> Do I need add any .jars or others to make it work with RAD.
>>>>
>>>> Please look into the issues as below.
>>>>
>>>> 1. while I invoke a plain sql I am not getting the result.
>>>> 2. While I invoke a stored procedure, the transaction is getting timed
>>>> out.
>>>>
>>>> when i invoke the above using ordinary java.sql.connection ( I get 
> this
>>>> connection object from SqlMapClient.getDataSource().getConnection()) 
> it
>>>> is
>>>> working fine for both points 1&2.
>>>>
>>>> Your help will be highly appreciated.
>>>>
>>>> Regards
>>>> Venkat
>>>> --
>>>> View this message in context:
>>>> 
>> 
> http://www.nabble.com/Please-help---Using-IBatis-in-RAD-7.0-tf4652521.html#a13292529
> 
>> 
>>>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>>>
>>>>
>>> 
>>> 
>> 
>> -- 
>> View this message in context: 
>> 
> http://www.nabble.com/Please-help---Using-IBatis-in-RAD-7.0-tf4652521.html#a13308959
> 
>> 
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>> 
>> 
>> 
>> 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/Please-help---Using-IBatis-in-RAD-7.0-tf4652521.html#a13360597
> 
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Please-help---Using-IBatis-in-RAD-7.0-tf4652521.html#a13362318
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Mime
View raw message