- - PR -
setXXXメソッドでバインド変数がセットされない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-29 11:25
お世話になります。
OS:VineLinux 3.0 APサーバ:Tomcat 5.0.28 JVM:1.4.2 Oracle:8.1.7 JDBC:10.10.1.0.2.0(Thin版) 上記の環境にてJDBCを使用して、Oracleのデータベースリンクから結果を取得する際に、 ORA-01008: not all variables bound のエラーが発生します。 SELECT COUNT(*) FROM HOGE@DBLINK WHERE CODE=? とSQLを発行し、 PreparedStatement#setString(1, "TEST") とした場合は正しく結果が取得できますが、 SELECT ( SELECT COUNT(*) FROM HOGE@DBLINK WHERE CODE=? ) FROM DUAL などとした場合(実際には複数の結果を、1つのクエリで取得したいのですが)ORA-01008のエラーが発生します。 Oracleのホームページを検索すると、 http://otndnld.oracle.co.jp/document/products/oracle10g/101/generic/B13723-07/ch03.htm のBug#2245502の現象に近い感じもしますが、DBのバージョンが違うので、これは当てはまらないかと思います。 このエラーを回避して、DBリンクでバインド変数を使用するには、どうしたらよいでしょうか? [ メッセージ編集済み 編集者: ハツキタツミ 編集日時 2005-06-29 12:07 ] |
|
投稿日時: 2005-06-29 11:47
どもども
もう少し情報が欲しいのでいくつか質問させて下さい リンク先のDBのバージョンも8.1.7ですか? 後、VIEWを使って同様の事やっても再現しますか? |
|
投稿日時: 2005-06-29 11:54
こんにちわ。
>リンク先のDBのバージョンも8.1.7ですか? はい。同一サーバ内の別DBです。 >後、VIEWを使って同様の事やっても再現しますか? CREATE VIEW HOGE AS SELECT * FROM HOGE@DBLINK を実行し、ビューを作成し SELECT ( SELECT COUNT(*) FROM HOGE WHERE CODE=? ) FROM DUAL とした場合でも同様です。 |
1