Displaying information about database using DatabaseMetadata
// Program to display information about the database
import java.sql.*;
public class DBMetaData
{
public static void main(String args[])
{
try {
// load oracle driver
Class.forName("oracle.jdbc.driver.OracleDriver");
// connect using Thin driver
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",
"scott","tiger");
// get metadata
DatabaseMetaData dbmd = con.getMetaData();
System.out.println("Product Name: " + dbmd.getDatabaseProductName());
System.out.println("Product Version: " + dbmd.getDatabaseProductVersion());
// Display list of available users (schemas)
System.out.println("List of users of the database");
ResultSet s = dbmd.getSchemas();
while ( s.next())
System.out.println(s.getString(1));
/* list of table of the user Scott */
System.out.println("List of Table of user SCOTT");
/* getTables(catalog, schema,tablename,tabletype) */
ResultSet tlist = dbmd.getTables(null,"SCOTT","%",null);
// display name of all tables
while (tlist.next())
{
System.out.println( tlist.getString("TABLE_NAME"));
}
}// end of try
catch(Exception ex)
{
System.out.println("Error : " + ex);
}
} // end of main
} // end of class Reading CLOB from a column of a table
// program to read data from CLOB column /* ------------------------------------------------------------------------------- create table lobs ( id number(2), resume clob ); --------------------------------------------------------------------------------- */ // This program assumes you have created a table given above and inserted a row with // ID 1 and some value for CLOB import java.sql.*; import java.io.*; public class CLOBRead { public static void main(String args[]) { try { // load oracle driver Class.forName("oracle.jdbc.driver.OracleDriver"); // connect using OCI driver assuming program runs on the same machine as Oracle9i Connection con = DriverManager.getConnection("jdbc:oracle:oci8:@","sri","sri"); Statement st = con.createStatement(); ResultSet rs = st.executeQuery("select * from lobs where id = 1"); rs.next(); Clob clob = rs.getClob(2); // get lob from second column InputStream is = clob.getAsciiStream(); // get stream to read data from lob int ch; while( (ch=is.read()) != -1) System.out.print( (char) ch); rs.close(); st.close(); con.close(); } catch(Exception ex) { ex.printStackTrace(); } } // end of main } // end of CLOBReadExecutes given query and displays result in JTable
/* Program to take an SQL command from user and execute it. Uses TableModel to display data in a table. */ import javax.swing.*; import javax.swing.table.*; import java.awt.*; import java.awt.event.*; import java.sql.*; public class Query extends JFrame implements ActionListener { JTable table; JTextField tfquery; JButton btn; public static void main(String args[]) { new Query(); } public Query() { super("Query"); tfquery = new JTextField(30); btn= new JButton("Execute"); table = new JTable(); JScrollPane sp = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); Container c = getContentPane(); JPanel tp = new JPanel( new FlowLayout()); tp.add(tfquery); tp.add(btn); btn.addActionListener(this); c.add(tp,"North"); c.add(sp); setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); setSize(500,300); setVisible(true); } public void actionPerformed(ActionEvent evt) { table.setModel( new TableData( tfquery.getText())); table.createDefaultColumnsFromModel(); } } class TableData extends AbstractTableModel { Connection con; Statement st; ResultSet rs; ResultSetMetaData rsmd; int nrows; public TableData(String query) { try { Class.forName("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oracle10", "scott","tiger"); st = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = st.executeQuery(query); rsmd = rs.getMetaData(); // get row count nrows = 0; while ( rs.next()) { nrows ++; } rs.beforeFirst(); } catch(Exception ex) { System.out.println( ex.getMessage()); } } public Object getValueAt(int row, int column) { try { rs.absolute(row+1); return rs.getString(column+1); } catch ( Exception ex){ System.out.println(ex.getMessage());} return null; } public int getColumnCount() { try { return rsmd.getColumnCount(); } catch ( Exception ex) {} return 0; } public int getRowCount() { return nrows; } public String getColumnName(int index) { try { return rsmd.getColumnName(index+1); } catch (Exception ex){ System.out.println(ex.getMessage()); } return null; } public Class getColumnClass( int index) { return String.class; } }Calling a Stored Function using CallableStatement
/*
Program to call a function using callable statement.
Make sure stored function GETEMPCOUNT is already created
in Oracle database before you run this program.
*/
import java.sql.*;
public class EmpCount
{
public static void main(String args[])
{
if ( args.length < 1 )
{
System.out.println("EmpCount deptno");
System.exit(1);
}
try
{
// load oracle thin driver
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",
"scott","tiger");
// create a callable statement
CallableStatement cs = con.prepareCall("{?=call GetEmpCount(?)}");
// specify the return type
cs.registerOutParameter(1,Types.INTEGER);
cs.setInt(2, Integer.parseInt( args[0]));
// execute EMPCOUNT function
cs.execute();
// display the return value of the function
System.out.println("No.of Employees : " + cs.getInt(1));
cs.close();
con.close();
}
catch(Exception ex)
{
System.out.println("Error : " + ex);
}
} // end of main
} // end of TestConnectionjhk
No comments:
Post a Comment