- - PR -
Oracle10gのビューをojdbc14.jarで取得できない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-05-02 15:31
皆様の経験とお力をかしてください。お願いします。
現在、Oracle9iからOracle10gへの移行検証を行っております。 Oracle10g環境で下記のような不思議な事象が起こってしまいました。 ------------------------------------------------ ビューに対してojdbc14.jar を用い、SELECT文を実行 ------------------------------------------------ 【 TEST_MESSAGEのCreate文 】 CREATE OR REPLACE VIEW TEST_MESSAGE (A,B,C,D,E) AS SELECT A,B,C,D,E FROM TEST_MESSAGE@参照先 WITH READ ONLY ※A,B,C,D,E は全て VARCHAR2 【 TEST_MESSAGEの値 】 A ,B ,C ,D --------------------------------------------------- SYS001 ,3 ,起動しました。 ,よろしいですか? SYS002 ,2 ,起動しました。 , SYS003 ,1 ,起動できません。 , 【 java ソース ※抜粋 】 stmt = con.createStatement(); rs = stmt.executeQuery("SELECT C,D,B FROM TEST_MESSAGE WHERE A='SYS001'" ); 【結果セットの内容】 ・rs.findColumn('C')の値は 1 ・rs.findColumn('D')の値は 2 ・rs.findColumn('B')の値は 3 ・rs.getString('C')の値は「3」 ・rs.getString('D')の値は「起動しました。」 ・rs.getString('B')の値は「よろ」 結果上記のようにカラムと値は合わないし、取得した文字列は途中で切れてしまう次第で困っております。SELECTするときに「SELECT B,C,D FROM TEST_MESSAGE WHERE A='SYS001'」とすると、正常に取得できますが、理由がわかりません。 順序の違うスース箇所なんていくらでもありそうなので困っております。 お力をお貸しください。 お願いします。 [ メッセージ編集済み 編集者: たまたま 編集日時 2006-05-02 15:33 ] [ メッセージ編集済み 編集者: たまたま 編集日時 2006-05-02 15:34 ] [ メッセージ編集済み 編集者: たまたま 編集日時 2006-05-02 15:36 ] |
|
投稿日時: 2006-05-02 15:47
補足になりますが、システム構成はこの通りです。
マシン環境 Windows2003 Server Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 Java開発環境 開発環境( JBulder 7 ) JDBC ( Oracle JDBC Driver 10.2.0 ) JDK ( java 1.4.2-b28 ) 以上です。 お願いいたします。 |
|
投稿日時: 2006-05-08 10:50
結局、正常に参照できない理由は判りませんでした。
どうやら、viewの参照先が外部DBだったのが原因みたいです。 メッセージテーブルということなので、 テーブルを接続側のDBに作成する事で回避しました。 一考された方々へ ありがとう御座いました。 |
1