import java.io.*; import java.beans.*; import java.awt.*; import java.awt.Window; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.plaf.*; import javax.swing.JOptionPane; import javax.swing.plaf.*; import javax.swing.event.*; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JButton; import javax.swing.JScrollPane; import javax.swing.DefaultListModel; import javax.swing.JTable; import javax.swing.table.*; import java.text.*; import java.sql.*; import java.net.*; import java.net.URL; import java.util.*; import java.util.List; import java.util.Vector; import java.util.ResourceBundle; import oracle.jdbc.driver.*; public class DBJettJT_tst { static String hostArg = "Host_Name"; static String portArg = "1521"; static String sidArg = "ilnk"; static String usrArg = "system"; public static void main(String[] args) { for (int i=0 ; i 0" ); final JComboBox sqlchc = new JComboBox( sql_array ); sqlchc.addItemListener( new ItemListener() { public void itemStateChanged( ItemEvent e ) { if( e.getStateChange() == ItemEvent.SELECTED ){ queryField.setText(""+((sql_item)(sqlchc.getSelectedItem())).getStg() ); } } } ); sqlchcPanel.add(sqlchcLabel); sqlchcPanel.add(sqlchc); JPanel ilnkchcPanel = new JPanel(); JLabel ilnkchcLabel = new JLabel ("IntraLink SQL Queries"); sql_item[] ilnk_array = new sql_item[ NUM ]; ilnk_array[0] = new sql_item(" IntraLink SQL Queries ", "" ); ilnk_array[1] = new sql_item(" pdm.pdm_pool ", "select * from pdm.pdm_pool" ); ilnk_array[2] = new sql_item(" pdm.pdm_fileserver ", "select * from pdm.pdm_fileserver" ); ilnk_array[3] = new sql_item(" pdm.pdm_releaselevel ", "select * from pdm.pdm_releaselevel" ); ilnk_array[4] = new sql_item(" pdm.pdm_releasescheme ", "select * from pdm.pdm_releasescheme" ); ilnk_array[5] = new sql_item(" pdm.pdm_folder ", "select * from pdm.pdm_folder" ); ilnk_array[6] = new sql_item(" pdm.pdm_productitem ", "select * from pdm.pdm_productitem" ); ilnk_array[7] = new sql_item(" pdm.pdm_productitemversion ", "select * from pdm.pdm_productitemversion" ); ilnk_array[8] = new sql_item(" pdm.pdm_pivrl ", "select * from pdm.pdm_pivrl" ); ilnk_array[9] = new sql_item(" pdm.pdm_lovfile ", "select * from pdm.pdm_lovfile" ); ilnk_array[10] =new sql_item(" pdm.pdm_action ", "select * from pdm.pdm_action" ); ilnk_array[11] =new sql_item(" V$ACCESS ", "select * from V$ACCESS" ); ilnk_array[12] =new sql_item(" RevVerRel ", "select pi.piname,piv.pivrev,piv.pivver,rl.rlname from pdm.PDM_PRODUCTITEM pi, pdm.PDM_BRANCH br, pdm.PDM_PRODUCTITEMVERSION piv, pdm.PDM_PIVRL pivrl, pdm.PDM_RELEASELEVEL rl where pi.piid=br.piid and br.brid=piv.brid and piv.pivid=pivrl.pivid and pivrl.rlid=rl.rlid order by piname,pivrev,pivver" ); final JComboBox ilnkchc = new JComboBox( ilnk_array ); ilnkchc.addItemListener( new ItemListener() { public void itemStateChanged( ItemEvent e ) { if( e.getStateChange() == ItemEvent.SELECTED ){ queryField.setText(""+((sql_item)(ilnkchc.getSelectedItem())).getStg() ); } } } ); ilnkchcPanel.add(ilnkchcLabel); ilnkchcPanel.add(ilnkchc); JPanel pdmlchcPanel = new JPanel(); JLabel pdmlchcLabel = new JLabel ("PdmLink SQL Queries"); sql_item[] pdml_array = new sql_item[ NUM ]; pdml_array[0] = new sql_item(" PdmLink SQL Queries ", "" ); pdml_array[1] = new sql_item(" WCUSER.FVITEM ", "select * from WCUSER.FVITEM" ); pdml_array[2] = new sql_item(" WCUSER.WTUSER ", "select NAME,CLASSNAMEKEYDOMAINREF,CREATESTAMPA2,MODIFYSTAMPA2,UPDATESTAMPA2,CLASSNAMEA2A2 from WCUSER.WTUSER" ); pdml_array[3] = new sql_item(" WCUSER.WTPRODUCTMASTER ", "select CLASSNAMEKEYCONTAINERREFEREN,NAME,WTPARTNUMBER,CLASSNAMEKEYORGANIZATIONREFE from WCUSER.WTPRODUCTMASTER" ); pdml_array[4] = new sql_item(" WCUSER.WTPARTMASTER ", "select CLASSNAMEKEYCONTAINERREFEREN, NAME,WTPARTNUMBER from WCUSER.WTPARTMASTER" ); pdml_array[5] = new sql_item(" WCUSER.WTLIBRARY ", "select DESCRIPTIONCONTAINERINFO,NAMECONTAINERINFO from WCUSER.WTLIBRARY" ); pdml_array[6] = new sql_item(" WCUSER.CABINET ", "select NAME,DESCRIPTION from WCUSER.CABINET" ); pdml_array[7] = new sql_item(" WCUSER.CONTAINERTEAM ", "select NAME from WCUSER.CONTAINERTEAM" ); pdml_array[8] = new sql_item(" WCUSER.EPMWORKSPACE ", "select NAME,DESCRIPTION from WCUSER.EPMWORKSPACE" ); pdml_array[9] = new sql_item(" WCUSER.WTGROUP ", "select NAME from WCUSER.WTGROUP" ); pdml_array[10] =new sql_item(" WCUSER.FVFOLDER ", "select * from WCUSER.FVFOLDER" ); pdml_array[11] =new sql_item(" WCUSER.WTPRODUCT ", "select * from WCUSER.WTPRODUCT" ); pdml_array[12] =new sql_item(" WCUSER.WTPRODUCTMASTER ", "select NAME,WTPARTNUMBER from WCUSER.WTPRODUCTMASTER" ); pdml_array[13] =new sql_item(" WCUSER.WTDOCUMENTMASTER ", "select * from WCUSER.WTDOCUMENTMASTER" ); pdml_array[14] =new sql_item(" WCUSER.WTVIEW ", "select * from WCUSER.WTVIEW" ); pdml_array[15] =new sql_item(" WCUSER.WTORGANIZATION ", "select * from WCUSER.WTORGANIZATION" ); pdml_array[16] =new sql_item(" WCUSER.DATAFORMAT ", "select FORMATNAME,DESCRIPTION,MIMETYPE from WCUSER.DATAFORMAT" ); final JComboBox pdmlchc = new JComboBox( pdml_array ); pdmlchc.addItemListener( new ItemListener() { public void itemStateChanged( ItemEvent e ) { if( e.getStateChange() == ItemEvent.SELECTED ){ queryField.setText(""+((sql_item)(pdmlchc.getSelectedItem())).getStg() ); } } } ); pdmlchcPanel.add(pdmlchcLabel); pdmlchcPanel.add(pdmlchc); JPanel queryPanel = new JPanel(); queryPanel.setLayout( new BorderLayout()); JLabel queryLabel = new JLabel ("SQL Input "); queryPanel.add(queryLabel, BorderLayout.NORTH); queryField = new JTextArea(4,70); JScrollPane textScroller = new JScrollPane(queryField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ); queryPanel.add(textScroller, BorderLayout.SOUTH); DBinPanel.add(sqlchcPanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); DBinPanel.add(ilnkchcPanel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); DBinPanel.add(pdmlchcPanel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); DBinPanel.add(queryPanel, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); // Output Grid JPanel DBoutPanel = new JPanel(); DBoutPanel.setLayout( new FlowLayout() ); DBoutPanel.setBorder( new TitledBorder("Output") ); JPanel resultPanel = new JPanel(); resultPanel.setLayout(new BorderLayout()); JLabel resultLabel = new JLabel ("SQL Output"); resultPanel.add(resultLabel, BorderLayout.NORTH); resultField = new JTextArea(6,70); JScrollPane rtextScroller = new JScrollPane(resultField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ); resultPanel.add(rtextScroller, BorderLayout.SOUTH); DBoutPanel.add(resultPanel); // Table Panel JPanel tbl_StgPanel = new JPanel(); tbl_StgPanel.setLayout(new BorderLayout()); DefaultTableModel tableModel = new DefaultTableModel(); table = new JTable(tableModel); JScrollPane scrollPane = new JScrollPane( table, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); scrollPane.setPreferredSize(new Dimension(800, 163)); JLabel tbl_StgLabel = new JLabel(" Index Table: "); tbl_StgPanel.add(tbl_StgLabel, BorderLayout.NORTH); tbl_StgPanel.add(scrollPane, BorderLayout.SOUTH); DBconnGrid.add(DBconnPanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); DBconnGrid.add(DBinPanel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); DBconnGrid.add(DBoutPanel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); DBconnGrid.add(tbl_StgPanel, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); return DBconnGrid; } public void run() { String url = getURL(); String query = getQuery(); String user = getUserName(); String pwd = getPassword(); Connection connection = null; Statement statement = null; resultField.setText(""); fulV = new Vector(); try { // Load the Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); } catch (SQLException ex) {;} try { long tBeforeConnect = System.currentTimeMillis(); connection = DriverManager.getConnection (url, user, pwd); long tAfterConnect = System.currentTimeMillis(); resultField.append(query); resultField.append("\n"); print("\nConnect time(ms): "); println( tAfterConnect-tBeforeConnect ); displayWarning(connection.getWarnings()); connection.clearWarnings(); // Get the DatabaseMetaData object and display // some information about the connection DatabaseMetaData dma = connection.getMetaData (); println("\nConnected to " + dma.getURL()); println("Driver " + dma.getDriverName()); println("Version " + dma.getDriverVersion()); // Create a Statement object so we can submit // SQL statements to the driver statement = connection.createStatement(); fulV.addElement( htbd ); fulV.addElement( "
" + query + "

" ); // Submit a query, creating a ResultSet object long tBeforeQuery = System.currentTimeMillis(); ResultSet resultSet = statement.executeQuery(query); long tAfterQuery = System.currentTimeMillis(); print("\nQuery time & data xfer(ms): "); println( tAfterQuery-tBeforeQuery ); println(""); fulV.addElement( tbls ); //
if (resultSet != null) // Display all columns and rows from the result set displayResultSet (resultSet); else println("The result is empty"); fulV.addElement( tble+"
" ); //
fulV.addElement( bdht ); finText = new String[ fulV.size() ]; fulV.copyInto( finText ); // Close the result set resultSet.close(); } catch (SQLException ex) { // A SQLException was generated. Catch it and // display the error information. println ("\n*** SQLException caught ***\n"); while (ex != null) { println("SQLState: " + ex.getSQLState()); println("Message: " + ex.getMessage()); println("Vendor: " + ex.getErrorCode()); ex = ex.getNextException (); println(""); } } catch (java.lang.Exception ex) { ex.printStackTrace(); // Got some other type of exception. } try { statement.close(); // Close the statement connection.close(); // Close the connection } catch (SQLException ex) { // A SQLException was generated. Catch it and // display the error information. println ("\n*** SQLException caught ***\n"); while (ex != null) { println("SQLState: " + ex.getSQLState()); println("Message: " + ex.getMessage()); println("Vendor: " + ex.getErrorCode()); ex = ex.getNextException (); println(""); } } catch (java.lang.Exception ex) { ex.printStackTrace(); // Got some other type of exception. } } //------------------------------------------------------------------- // displayWarning // Displays warnings. Returns true if a warning existed //------------------------------------------------------------------- public boolean displayWarning(SQLWarning sqlWarning) throws SQLException { boolean warning = false; // If a SQLWarning object was given, display the // warning messages. Note that there could be // multiple warnings chained together if (sqlWarning != null) { println ("\n *** Warning ***\n"); warning = true; while (sqlWarning != null) { println ("SQLState: " + sqlWarning.getSQLState()); println ("Message: " + sqlWarning.getMessage()); println ("Vendor: " + sqlWarning.getErrorCode()); println(""); sqlWarning = sqlWarning.getNextWarning(); } } return warning; } /* INTRALINK = (DESCRIPTION = (SDU=32768) (TDU=32768) (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP) (Host= hostname) #Hostname (Port= 1525) ) ) (CONNECT_DATA = (SID = ilnk) ) ) */ //------------------------------------------------------------------- // displayResultSet // Displays all columns and rows in the given result set //------------------------------------------------------------------- public void displayResultSet(ResultSet resultSet) throws SQLException { int i; Vector columnNames = new Vector(); Vector data = new Vector(); // Get the ResultSetMetaData. ResultSetMetaData resultSetMetaData = resultSet.getMetaData (); // Get the number of columns in the result set int numCols = resultSetMetaData.getColumnCount (); // Display column headings for (i=1; i<=numCols; i++) { if (i > 1) print("|"); String colname = resultSetMetaData.getColumnName(i); columnNames.addElement( colname ); fulV.addElement( colname ); print(colname); if ( i < numCols ) fulV.addElement( tdes ); // } println(""); // Display data, fetching until end of the result set while (resultSet.next()) { Vector row = new Vector(numCols); fulV.addElement( tdres ); // // Loop through each column, getting the // column data and displaying for (i=1; i<=numCols; i++) { tmpStg = resultSet.getString(i); if (i > 1) print("|"); row.addElement( tmpStg ); fulV.addElement( tmpStg ); print(tmpStg); if ( i < numCols ) fulV.addElement( tdes ); // } println(""); data.addElement( row ); // Fetch the next result set row } ( (DefaultTableModel) table.getModel()).setDataVector(data, columnNames); } public void OpenHtm ( String finMdbNm ) { String s3 = null; try { String copyStg = ("\"start\""); Process p3 = Runtime.getRuntime().exec("cmd /C " + copyStg + " " + finMdbNm ); //Process p3 = Runtime.getRuntime().exec("start " + finMdbNm ); BufferedReader stdInput3 = new BufferedReader(new InputStreamReader(p3.getInputStream())); BufferedReader stdError3 = new BufferedReader(new InputStreamReader(p3.getErrorStream())); while ((s3 = stdInput3.readLine()) != null) { System.out.println( s3 ); } } catch (IOException e8) { System.out.println("Exception (OpenHtm): " ); e8.printStackTrace(); System.exit(-1); } } public void SaveSelected( String open_outnm ) { try { PrintStream expfl = new PrintStream(new FileOutputStream(open_outnm)); for (int j = 0; j < finText.length; j++) { if ( finText[j] != "" ) { expfl.println( finText[j] ); } } expfl.flush(); expfl.close(); } catch(java.io.IOException IOEx) { System.out.println("Cannot create " + open_outnm + " file."); } } public void SaveTxt( String open_outnm2 ) { dataOutStg = getdataOut(); try { PrintStream expfl = new PrintStream(new FileOutputStream(open_outnm2)); expfl.println( dataOutStg ); expfl.flush(); expfl.close(); } catch(java.io.IOException IOEx) { System.out.println("Cannot create " + open_outnm2 + " file."); } } public String getDateStg() { SimpleDateFormat df = new SimpleDateFormat ("MMddyy_HHmmss", Locale.getDefault()); java.util.Date tm = new java.util.Date(); String dtStg = df.format(tm); return dtStg; } public void setResetAll() { queryField.setText(""); resultField.setText(""); UserName.setText(""); Password.setText(""); DefaultTableModel tableModel = new DefaultTableModel(); table = new JTable(tableModel); } public void print(String str) { if (str != null) resultField.append(str); } public void println(String str) { if (str != null) resultField.append(str); resultField.append("\n"); } public void println(long value) { resultField.append( java.lang.Long.toString(value) ); resultField.append( "\n" ); } public void CancelPressed() { System.exit(0); } public String getQuery(){ query = queryField.getText(); return query; } public String getURL() { url = URL_String.getText(); return url; } public String getUserName() { user = UserName.getText(); return user; } public String getPassword() { pwd=String.valueOf(Password.getPassword()); return pwd; } public String getdataOut() { dataOutStg = resultField.getText(); return dataOutStg; } JFrame container; JTextArea resultField, queryField; JTextField URL_String, UserName; JPasswordField Password; JButton ResBut, ButCon, cancel, ok, SaveBut; JTable table; DefaultListModel LlistModel; Vector colNmV, rowsV; Vector fulV = new Vector(); String url, query, user, pwd, get_url, tmpStg, dtStg, outnmStg, outnmStg2, dataOutStg; String[] finText = null; String htbd = "DBJettJT_tst_Output"; String bdht = ""; String tdes = ""; String tbls = "
"; String tble = "
"; String tdres = ""; } class sql_item { private String sql_name; private String sql_stg; public sql_item() { sql_name = ""; sql_stg = ""; } sql_item( String sql_name_, String sql_stg_ ) { sql_name = sql_name_; sql_stg = sql_stg_; } public String getName() { return sql_name; } public String getStg() { return sql_stg; } public String toString() { return sql_name; } }