CallableStatement の不思議な制限

JDBC2.0より提供されているCallableStatementクラスを使って,次のような書式でストアドプロシージャを起動することができるようになりました。
CallableStatement cs = conn.prepareCall("{? = call myProc(?,?)}")

ところで,このCallableStatementクラスの指定には,どうにも妙な記述上の制限があります。

  • "{""}"(中カッコ)を必ず付けなければならない

  • "call"は必須で,しかも小文字でなければならない


これらはドキュメントにも明記されています。

これを見落してプログラムを書くと,コール時にNullPointerException例外が飛んだり,意味の分からないエラーを受け取って頭を抱えることになります(というか,抱えました(^_^;)。

仕様であると言ってしまえば確かにその通りなのですが,どちらもあまり合理的な必要性が思いつきません。何でこんな制限が必要なんでしょうか(?_?)


タグ:java JDBC
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
rank← ランキングはこちらをクリック!

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。