0

Oracle データベースの getTableName() を介して ResultSetMetaData からテーブル名を取得することに成功した人はいますか?

すべてのオンライン資料は、ResultSetMetaDataOptions を「1」に設定することを提案していますが、機能しません。

4

1 に答える 1

1

ここで述べたようにgetTableName() に関する情報:

やあ。悪い知らせを伝えて申し訳ありませんが、Oracle の DBMS は列がどのテーブルから来たかに関する情報を送信しないため、Oracle ドライバーはその結果セット メタデータ呼び出しを実装できません。ほとんどの DBMS もそうではありません。そのため、すべての JDBC ドライバーの 99% も、有用なものを返すためにその呼び出しを実装していないことがわかります。最新のドライバーと特定のオプションの DBMS 構成を備えた Sybase だけが、これを実行しました。ほとんどの DBMS ベンダーが気にしないような DBMS の変更が必要です。

編集:私はパラメータを設定するために以下のアプローチを試みました:

java.util.Properties info = new java.util.Properties();
info.put ("user", "scott");
info.put ("password", "tiger");
info.put ("ResultSetMetaDataOptions", "1");

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@myhost:1521:orcl", info);

ただし、うまくいきませんでした。テーブル名をまだ取得できませんでした。このプロパティは、ここで確認できる可能なプロパティのリストにはありません: Driver documentation。また、そのプロパティを設定して機能させる他の方法を見つけることもできませんでした。

于 2013-10-17T21:36:21.220 に答える