まとめ @ wiki
テーブルの構成情報を取得する-DatabaseMetaDataインターフェイス-
最終更新:
shells
-
view
テーブルの構成情報を取得する-DatabaseMetaDataインターフェイス- 【HP】
目次
ソース
metaDb.jsp
<%@ page contentType="text/html; charset=Shift_JIS" import="java.sql.*" %>
<dl>
<%
Class.forName( "oracle.jdbc.driver.OracleDriver" );
Connection db = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:SID名", "ユーザー名", "パスワード" );
db.setReadOnly( true );
DatabaseMetaData objMet = db.getMetaData(); // 現在の接続先データソースに対する構成情報を取得
ResultSet rs = objMet.getTables( "", "", "%", null ); // 指定されたデータベースから利用可能なテーブルの一覧情報を取得
// ( データベース名, スキーマ名, テーブル名, テーブルの型 )
// %:ワイルドカード ( 0文字以上の任意の文字 )
// スキーマ名、テーブル名に使用可能
while( rs.next() ) {
String strTbl = rs.getString( "TABLE_NAME" );
%>
<dt style="font-weight:bold"><%=strTbl%></dt>
<table border="1">
<tr>
<th>フィールド名</th><th>データ型</th><th>けた数</th>
</tr>
<% ResultSet rs2 = objMet.getColumns( "SID名", "ユーザー名", strTbl, "%" );
// 指定されたテーブルに含まれるフィールドに関する情報を返す
// ( カタログ名, スキーマ名, テーブル名, フィールド名 )
// フィールド名にのみワイルドカード使用可能
while( rs2.next() ) {
%>
<tr>
<td><%= rs2.getString( "COLUMN_NAME" ) %></td>
<td><%= rs2.getString( "TYPE_NAME" ) %></td>
<td align="right"><%= rs2.getString( "CHAR_OCTET_LENGTH" ) %></td>
</tr>
<% }
%>
</table>
<hr />
<%
}
db.close();
%>
</dl>実行結果
指定したスキーマ内の全てのテーブル情報が出力