[Seasar-user:3686] 引数のないストアド呼び出し

Koichiro Hara [E-MAIL ADDRESS DELETED]
2006年 5月 24日 (水) 09:16:20 JST


原です。

MSSQLServer2005
s2-dao-1.0.31
SQLServer2005JDBCドライバ
で引数無しストアドプロシージャを呼び出すと以下のようなエラー
が発生します。

CREATE PROCEDURE TESTPROC
AS
BEGIN
	return 5
END
GO

public static final String testProc_PROCEDURE = "TESTPROC";
public int testProc();

public void testTestProc() {
	assertEquals( 5, dao.testProc() );
}

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: ')' 付近に不適切な構文があります。

ダミーの引数をつけてやると問題なく実行できるようです。

ALTER PROCEDURE [dbo].[TESTPROC]
	@DUMMY int
AS
BEGIN
	return 5
END
GO

public static final String testProc_PROCEDURE = "TESTPROC";
public int testProc(int dummy);

public void testTestProc() {
	assertEquals( 5, dao.testProc(0) );
}

AbstractBasicProcedureHandlerの181行目あたりbuf.length-1で引
数がない場合、"("を削ってしまいSQL文が崩れているように思いま
すが、いかがでしょうか?


------------------------------------------- 
  Koichiro Hara    
  原 浩一郎  
  [E-MAIL ADDRESS DELETED]





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