0

Eclipse で SQL Server 2005 から referenced_object_id の代わりにテーブル名を取得する必要があります。そのように完了しましたが、テーブル名を取得していません:

   Statement smt = con.createStatement();
            smt.executeQuery("SELECT * from table_references");
            ResultSet rs = smt.getResultSet();

            while (rs.next()) { 
                String column1 = rs.getString("referenced_object_id");
                String column2 = rs.getString("name");
                String column3 = rs.getString("parent_column_id");
                String column4 = rs.getString("referenced_column_id");

                String sql = "SELECT name from sys.tables WHERE object_id='" + column1 + "'";

                System.out.println(column1 + " | " + column2 + " | " + column3 + " | " + column4);
4

1 に答える 1

1

テーブルの名前を取得するには、データベースからメタデータを取得する必要があります。

DatabaseMetaData meta = conn.getMetaData();  
ResultSet rs = meta.getTables(null, null, "%", null);
while (rs.next()) {
  System.out.println(rs.getString(3));
}

こちらをご覧ください - http://docs.oracle.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getTables%28java.lang.String,%20java.lang.String,%20java. lang.String,%20java.lang.String%5b%5d%29 - 役に立ちます。

于 2013-05-24T15:08:44.510 に答える