• atwiki
  • まとめ @ wiki
  • テーブルの構成情報を取得する-DatabaseMetaDataインターフェイス-

まとめ @ 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>

実行結果

指定したスキーマ内の全てのテーブル情報が出力

記事メニュー
ウィキ募集バナー