[Seasar-user:9068] [S2DAO]MySQLのストアドプロシジャ

fujihara [E-MAIL ADDRESS DELETED]
2007年 7月 10日 (火) 16:11:23 JST


fujiharaです。

Churaプロジェクト(Teeda1.07+S2DAO1.0.43)で社内システムを
構築しています。

ストアドプロシジャをDaoから呼ぼうとしていますがうまくいきません。
MySQL5.0.41です。

-------- DAO ------------
@S2Dao(bean=Seqaccntid.class)
public interface SProcGetAccountIdDao {

 @Procedure("roaso_db.GET_ACCOUNT_ID")
 public void getAccountID(int accid);

}
-----------------------------------

-------- ストアドプロシジャ ------------
CREATE PROCEDURE GET_ACCOUNT_ID(OUT accid INTEGER )
BEGIN
 UPDATE Seqaccntid SET member_seq = last_insert_id(member_seq) + 1;
 SELECT member_seq INTO accid FROM Seqaccntid;
END
-----------------------------------

org.seasar.dao.MethodSetupFailureRuntimeException: 
[EDAO0019]jp.roaso.dao.SProcGetAccountIdDaoのgetAccountIDメソッドの初期化時に例外が発生しました。理由はorg.seasar.framework.exception.SRuntimeException: 
[EDAO0012]Storedprocedure(roaso_db.GET_ACCOUNT_ID) not found
 at 
org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMetaDataImpl.java:209)
 at 
org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMetaDataImpl.java:181)
 at 
org.seasar.dao.impl.DaoMetaDataImpl.setupSqlCommand(DaoMetaDataImpl.java:175)
 at org.seasar.dao.impl.DaoMetaDataImpl.initialize(DaoMetaDataImpl.java:153)
 at 
org.seasar.dao.impl.DaoMetaDataFactoryImpl.createDaoMetaData(DaoMetaDataFactoryImpl.java:123)

以上の様に見つからないといってますが実際には以下のように
DBにあります。

mysql> select db, name  from mysql.proc;
+----------+----------------+
| db          | name                |
+----------+----------------+
| roaso_db   | GET_ACCOUNT_ID  |
+----------+----------------+
1 row in set (0.00 sec)

なぜ見つからないのでしょう?
以上、大変申し訳ありませんが宜しくおねがいします。 



Seasar-user メーリングリストの案内