<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META content="MSHTML 6.00.2900.3243" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2>tomcat6.0 <BR>Seasar2.3.19 <BR>SqlServer2005
<BR>JDK1.6 </FONT></DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2></FONT> </DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2>Seasar2
$B$O(Btomcat$B%5!<%P!<$G(BSqlServer$B$r@\B3$9$k;~!"0l$D$N(BService$B$G(B2$B7o$N(BUpdate$BJ8$r<B9T$9$k$H!"0lHVL\$O@.8y$9$k$,!"(B2$BHVL\$O<:GT$9$k!#(B
<BR>$B%m%0$G!"!V%H%i%s%6%/%7%g%s$r%m!<%k%P%C%/$7$^$7$?!W$H$$$&%a%C%;!<%8$r=P$7$?$,!"(BDB$B$G0lHVL\$N(BUpdate$BJ8$O99?7$7$?FbMF$,0MA3$H$7$FB8:_(B
<BR>$B$7$F$$$F!"@5>o$K%m!<%k%P%C%/$7$J$$!#$3$l$O2?8N$+(B</FONT></DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2></FONT> </DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2>$B%0$O2<5-$NDL$j!#(B <BR>2008/01/10 09:26:27.812 [DEBUG]
$B%H%i%s%6%/%7%g%s$r3+;O$7$^$7$?(B <BR>2008/01/10 09:26:27.984 [DEBUG] UPDATE dbo.test <BR>SET
USER_PWD = 'tcl' <BR>WHERE USER_NO = '15' <BR>2008/01/10 09:26:28.375 [DEBUG]
$BJ*M}E*$J%3%M%/%7%g%s$r<hF@$7$^$7$?(B <BR>2008/01/10 09:26:28.375 [DEBUG] $BO@M}E*$J%3%M%/%7%g%s$r<hF@$7$^$7$?(B
<BR>2008/01/10 09:26:28.531 [DEBUG] $BO@M}E*$J%3%M%/%7%g%s$rJD$8$^$7$?(B <BR>2008/01/10 09:26:28.531
[DEBUG] $BJ*M}E*$J%3%M%/%7%g%s$rJD$8$^$7$?(B <BR>2008/01/10 09:26:28.609 [DEBUG] UPDATE dbo.test1
<BR>SET USER_PWD = 'abc' <BR>WHERE USER_NO = '16' <BR>2008/01/10 09:26:28.625
[DEBUG] $BJ*M}E*$J%3%M%/%7%g%s$r<hF@$7$^$7$?(B <BR>2008/01/10 09:26:28.625 [DEBUG] $BO@M}E*$J%3%M%/%7%g%s$r<hF@$7$^$7$?(B
<BR>2008/01/10 09:26:28.625 [DEBUG] $BO@M}E*$J%3%M%/%7%g%s$rJD$8$^$7$?(B <BR>2008/01/10 09:26:28.625
[DEBUG] $BJ*M}E*$J%3%M%/%7%g%s$rJD$8$^$7$?(B <BR>2008/01/10 09:26:28.625 [DEBUG] $B%H%i%s%6%/%7%g%s$r%m!<%k%P%C%/$7$^$7$?(B
<BR>2008/01/10 09:26:28.671 [ERROR]
org.seasar.framework.exception.SQLRuntimeException:
<BR>[ESSR0071]SQL$B$GNc30(B(ErrorCode=208, SQLState=42S02)$B$,H/@8$7$^$7$?!#M}M3$O(B
<BR>org.seasar.framework.exception.SSQLException: [ESSR0072]SQL$B$GNc30(B(SQL=[UPDATE
dbo.test <BR>....</FONT></DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2></FONT> </DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2>j2ee.dicon
<BR>--------------------------------<BR><?xml version="1.0"
encoding="Shift_JIS"?> <BR><!DOCTYPE components PUBLIC "-//SEASAR//DTD
S2Container//EN" <BR>"<A
href="http://www.seasar.org/dtd/components.dtd">http://www.seasar.org/dtd/components.dtd</A>">
<BR><components namespace="j2ee"> <BR><!-- Seasar2$B%H%i%s%6%/%7%g%s%^%M!<%8%c(B -->
<BR><component name="transactionManager"
<BR>class="org.seasar.extension.jta.TransactionManagerImpl"/> <BR><!--
$B%H%i%s%6%/%7%g%sB0@-(B --> <BR><component name="requiredTx"
class="org.seasar.extension.tx.RequiredInterceptor"> <BR><initMethod
name="addRollbackRule">
<BR><arg>@java.lang.RuntimeException@class</arg>
<BR></initMethod> <BR></component> <BR><component
name="basicResultSetFactory"
<BR>class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
<BR><component name="basicStatementFactory"
<BR>class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
<BR><!-- SQL Server 2005 --> <BR><component name="sqlConnection"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> <BR><property
name="driverClassName">"com.microsoft.jdbc.sqlserver.SQLServerDriver"</property>
<BR><property
name="URL">"jdbc:microsoft:sqlserver://192.168.1.216:1433;DatabaseName=test"</property>
<BR><property name="user">"sa"</property> <BR><property
name="password">"sa"</property> <BR></component>
<BR><component name="sqlConnectionPool"
class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl"> <BR><property
name="timeout">600</property> <BR><property
name="maxPoolSize">5</property> <BR><property
name="allowLocalTx">true</property> <BR><property
name="XADataSource">sqlConnection</property> <BR><destroyMethod
name="close"/> <BR></component> <BR><component name="dataSource"
class="org.seasar.extension.dbcp.impl.DataSourceImpl">
<BR><arg>sqlConnectionPool</arg> <BR></component>
<BR></components> </FONT></DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2></FONT> </DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2>test.dicon
<BR>--------------------------------<BR><components> <BR><!--Aspect
auto regist. --> <BR><component
class="jp.co.business.service.impl.testServiceImpl">
<BR><aspect>j2ee.requiredTx</aspect> <BR></component>
<BR></components> </FONT></DIV>
<DIV><FONT face="$B#M#S(B $B%4%7%C%/(B" size=2><BR>testServiceImpl.java
<BR>--------------------------------<BR>public class testServiceImpl extends
PagerService implements testService { <BR>private testDao dao; <BR>public void
setTestDao(testDao dao) { <BR>this.dao = dao; <BR>} <BR>public int
updatePassWord(String strNo, String strPwd) { <BR>int iRtnValue = -1;
<BR>iRtnValue = dao.updatePassWord("15", "tcl"); <BR>iRtnValue =
dao.updatePassWord1("16", "abc"); <BR>return iRtnValue; <BR>} </DIV>
<DIV>================================================================<BR>$B>.NS$5$s(B</DIV>
<DIV> </DIV>
<DIV>$B$42sEzBgJQ$"$j$,$H$&$4$6$$$^$7$?!#(B<BR>dao $B$rDj5A$7$F$$$k(B dicon $B%U%!%$%k$O2<5-$NDL$j$G$9!#(B<BR>test.dicon
<BR>--------------------------------<BR><!-- Component auto regist.
--><BR> <component<BR>
class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"><BR>
<property name="autoNaming"><BR>
<component
class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/><BR>
</property><BR> <initMethod
name="addClassPattern"><BR>
<arg>"jp.co.domain.dao.impl"</arg><BR>
<arg>".*DaoImpl"</arg><BR>
</initMethod><BR> </component><BR>
<component<BR>
class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"><BR>
<property name="autoNaming"><BR>
<component
class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/><BR>
</property><BR> <initMethod
name="addClassPattern"><BR>
<arg>"jp.co.business.service.impl"</arg><BR>
<arg>".*ServiceImpl"</arg><BR>
</initMethod><BR> </component><BR>
<component<BR>
class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"><BR>
<property name="instanceDef"><BR>
@org.seasar.framework.container.deployer.InstanceDefFactory@REQUEST<BR>
</property><BR> <property
name="autoNaming"><BR> <component
class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/><BR>
</property><BR> <initMethod
name="addClassPattern"><BR>
<arg>"jp.co.web.action"</arg><BR>
<arg>".*Action"</arg><BR>
</initMethod><BR> </component></DIV>
<DIV> </DIV>
<DIV>testService $B$r8F$S=P$7$F$$$k%3!<%I(B<BR>--------------------------------<BR>public class
LoginAction extends BaseAction{<BR> private testService
service;<BR> public void setTestService(testService service)
{<BR> this.service = service;<BR> }<BR> public String
doExecute(ActionMapping mapping,<BR> ActionForm
form,<BR> HttpServletRequest
request,<BR> HttpServletResponse response) {<BR> int
iUpdateFlg = -1;<BR> iUpdateFlg = service.updatePassWord("15",
"tcl");<BR> return
SUCCESS;<BR> }<BR>}<BR>$B!V%H%i%s%6%/%7%g%s$r3+;O$7$F$$$k%3!<%I!W$O%=!<%9$G=q$$$F$$$^$;$s!#(B<BR>$B%H%i%s%6%/%7%g%s$N4IM}$O(BS2$B4pDl$h$j<B9T$5$l$k$N$G$7$g$&$+!"%=!<%9$GL@J8$K5-=R$9$kI,MW$,$"$j$^$9$+!#(B<BR>$B>0!"(BS2Container$B$,:n@.$5$l$?$+$r$I$N$h$&$KH=CG$7$^$9$+!#(B<BR>================================================================<BR>$B$R$,$5$s(B</DIV>
<DIV> </DIV>
<DIV>$B$42sEzBgJQ$"$j$,$H$&$4$6$$$^$7$?!#(B<BR>web.xml$B$K2<5-$NG[CV$,$"$j$^$9!#(B<BR>web.xml<BR>--------------------------------<BR><servlet><BR> <servlet-name>s2servlet</servlet-name><BR> <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class><BR> <init-param><BR> <param-name>configPath</param-name><BR> <param-value>app.dicon</param-value><BR> </init-param><BR> <init-param><BR> <param-name>debug</param-name><BR> <param-value>false</param-value><BR> </init-param><BR> <load-on-startup>1</load-on-startup><BR></servlet><BR><servlet-mapping><BR> <servlet-name>s2servlet</servlet-name><BR> <url-pattern>/s2servlet</url-pattern><BR></servlet-mapping></DIV>
<DIV> </DIV>
<DIV>>S2Container$B$N@8@.$O!"(BS2ContainerServlet$B$KG$$;$F$/$@$5$$!#(B<BR>$B$=$l$G$O!"4{$K(BS2Container$B$N@8@.$O(BS2ContainerServlet$B$KG$$;$?$3$H$r@bL@$9$k$N$G$7$g$&$+!#(B<BR>$B$[$+$K2?$+$NG[CV$,MW$j$^$9$+!#(B<BR>================================================================<BR>$B:#ED$5$s(B</DIV>
<DIV> </DIV>
<DIV>$B$42sEzBgJQ$"$j$,$H$&$4$6$$$^$7$?!#(B<BR>DaoImpl:<BR>--------------------------------<BR>public
class TestDaoImpl extends BaseDao implements TestDao {<BR> public int
updatePassWord(String strNo, String strPwd) {<BR> Object[] args=new
Object[]{strPwd, strNo};<BR> return super.updateSQL("updatePassWord",
args);<BR> }<BR> public int updatePassWord1(String strNo, String
strPwd) {<BR> Object[] args=new Object[]{strPwd,
strNo};<BR> return super.updateSQL("updatePassWord1",
args);<BR> }<BR>}</DIV>
<DIV><BR>BaseDao:<BR>--------------------------------<BR>public abstract class
BaseDao {<BR> private final static String DICON_DIR =
"jp/co/dicon/";<BR> private final static String DICON_EX =
".dicon";<BR> public int updateSQL(String component, Object[] args)
{<BR> int result;<BR> String classFullName =
this.getClass().getName();<BR> String diconPath =
getDiconPath(classFullName);<BR> S2Container container =
S2ContainerFactory.create(diconPath);<BR>
container.init();<BR> try
{<BR> Object obj =
container.getComponent(component);<BR>
UpdateHandler handler =
(UpdateHandler)obj;<BR>
result = handler.execute(args);<BR> }
finally {<BR>
container.destroy();<BR>
}<BR> return
result;<BR>}<BR>$B%H%i%s%6%/%7%g%s$N=hM}$O%=!<%9$GL@J8$K5-=R$7$J$$!"$b$&(BS2Container$B$KG$$;$k!#(B<BR>$B2?LdBj$,$"$l$P!"65$($F$*4j$$$7$^$9!#(B</DIV>
<DIV> </DIV>
<DIV>$B$I$&$7$F%m%0$G!VJ*M}E*$J%3%M%/%7%g%s$rJD$8$^$7$?!W$rI=<($7$^$9$+!#(B</FONT></DIV></BODY></HTML>