Type info in database metadata : Metadata DB Info « Database SQL JDBC « Java






Type info in database metadata

  
/*
Copyright 2003 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
Use of this software is authorized pursuant to the terms of the license found at
http://developer.java.sun.com/berkeley_license.html.

Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.  
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met: 

- Redistribution of source code must retain the above copyright notice, 
this list of conditions and the following disclaimer.

- Redistribution in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

Neither the name of Sun Microsystems, Inc. or the names of contributors may 
be used to endorse or promote products derived from this software without
specific prior written permission.

This software is provided "AS IS," without a warranty of any kind.  
ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICORSYSTEMS, INC. ("SUN")
AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, 
INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN
IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

You acknowledge that this software is not designed, licensed or intended for
use in the design, construction, operation or maintenance of any nuclear
facility.


*/


/*
 * Copyright 2003 Sun Microsystems, Inc.  ALL RIGHTS RESERVED.
 * Use of this software is authorized pursuant to the terms of the license found at
 * http://developer.java.sun.com/berkeley_license.html.
 */ 

import java.net.URL;
import java.sql.*;
     
public class TypeInfo {

  public static void main(String args[]) {
      
    String url = "jdbc:mySubprotocol:myDataSource";
    Connection con;
    DatabaseMetaData dbmd;      
  
  
    try {
      Class.forName("myDriver.ClassName");

    } catch(java.lang.ClassNotFoundException e) {
      System.err.print("ClassNotFoundException: "); 
      System.err.println(e.getMessage());
    }

    try {
      con = DriverManager.getConnection(url, 
                 "myLogin", "myPassword");

      dbmd = con.getMetaData();      

      ResultSet rs = dbmd.getTypeInfo();
      while (rs.next()) {
        String typeName = rs.getString("TYPE_NAME");
        short dataType = rs.getShort("DATA_TYPE");
        String createParams = rs.getString("CREATE_PARAMS");
        int nullable = rs.getInt("NULLABLE");
        boolean caseSensitive = rs.getBoolean("CASE_SENSITIVE");
        System.out.println("DBMS type " + typeName + ":");
        System.out.println("     java.sql.Types:  "  + dataType);
        System.out.print("     parameters used to create: ");
        System.out.println(createParams);
        System.out.println("     nullable?:  "  + nullable);
        System.out.print("     case sensitive?:  ");
        System.out.println(caseSensitive);
        System.out.println("");

      }

      con.close();


    } catch(SQLException ex) {
      System.err.println("SQLException: " + ex.getMessage());
    }
  }
}





           
         
    
  








Related examples in the same category

1.Get all key words in database
2.Get Database Schema From MetaData
3.Get Catalog From Database Metadata
4.Is statement pooling supported?
5.Database MetaData: Database version
6.A database MetaData query
7.DatabaseMetaData class to obtain information about the
8.Database Info
9.JDBC Performance
10.Driver Property Info
11.If database support transaction
12.If database support scrollable result sets
13.Get database product information
14.Get data types supported by database
15.If database support batch update
16.Get database maximum table name length
17.Get numeric functions supported by database
18.Get JDBC driver information
19.Get system functions supported by database?
20.Get the max concurrent connection to a database?
21.Get date time functions supported by database
22.Get column names of a table using ResultSetMetaData
23.Get column's precision and scale value?
24.Get string functions supported by database?
25.JDBC Version App
26.Listing All Non-SQL92 Keywords Used by a Database
27.Listing the String Functions Supported by a Database: retrieves a list of string functions that a database supports.
28.Listing the Numeric Functions Supported by a Database
29.Listing the System Functions Supported by a Database
30.Listing the Time and Date Functions Supported by a Database
31.Getting the Maximum Table Name Length allowed in a Database
32.Detect if a table exists
33.This program uses metadata to display arbitrary tables in a database.