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 <[EMAIL PROTECTED]>
23/10/2007 15:18
Please respond to
[email protected]
To
[email protected]
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 <[EMAIL PROTECTED]>
> 20/10/2007 16:45
> Please respond to
> [email protected]
>
>
> To
> [email protected]
> 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 <[EMAIL PROTECTED]> 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.