[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 メーリングリストの案内