*目次 [#y8b7236f] #contents *カラム一覧を取得するわけなんだけど、 [#k891bb57] 文字列の -COLUMN_NAME とかって、どうやって知り得るのかわかんなかったので、Googleで検索してみました。 **大体こんな感じ [#c08fcac3] PerlのSQLiteのサンプルコードを参考にする http://cpansearch.perl.org/src/ADAMK/DBD-SQLite-1.29/lib/DBD/SQLite.pm TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE **型名らしき説明が掲載されているURL [#tc3af60f] ***IBMのDB2 [#ic9b8ce9] http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/db2/rbafzmstcatalogodbc.htm ***Googleコードより、rubyのサンプルコード [#a074a2a7] http://code.google.com/p/rubeus/source/browse/trunk/lib/rubeus/jdbc/column.rb?r=237 ***SQL Server 2005チックな説明 [#o0aa1341] https://blogs.msdn.com/b/sqlserverfaq/archive/2009/10/30/sp-columns-take-longer-in-sql-server-2005-sp3-compared-to-sql-server-2000.aspx ***ODBC スキーマ コレクション (ADO.NET) [#dbe67885] http://msdn.microsoft.com/ja-jp/library/cc668760.aspx ***Symfoware [#h9ee02fe] http://software.fujitsu.com/jp/manual/manualfiles/M100006/J2X02268/09Z202/J2268-e-03-04.html ***SQLLite [#h07dd2fb] http://d.hatena.ne.jp/miyohide/20100317 *カラム一覧を得る [#q8365a01] package base; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class HelloColumnList { public static void main(String[] args) { try { // ドライバクラスをロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // データベースへ接続 Connection con = DriverManager.getConnection("jdbc:odbc:helloworld"); // ステートメントオブジェクトを生成 Statement stmt = con.createStatement(); DatabaseMetaData dmd = con.getMetaData(); ResultSet rs = null; rs = dmd.getColumns(null, null,"HELLO_WORLD_TABLE",null); try { while(rs.next()){ System.out.println(rs.getString("COLUMN_NAME") + "\n"); } } finally { rs.close(); } stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } } }