/**** SuppliersAndPartsCreateTables.java ****/ import java.sql.*; public class SuppliersAndPartsCreateTables { public static void main(String[] args) { if (usageOnly(args)) return; String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; if (args.length > 0) driver = args[0]; String url = "jdbc:odbc:SuppliersAndParts"; if (args.length > 1) url = args[1]; try { Class.forName(driver).newInstance(); Connection con = DriverManager.getConnection(url); System.out.println("Connected to: " + url); Statement stmt = con.createStatement(); stmt.execute( "create table S (" + "SNUM char(5) not null," + "SNAME char(20)," + "STATUS int," + "CITY char(15))" ); stmt.execute( "create table P (" + "PNUM char(6) not null," + "PNAME char(20)," + "COLOR char(6)," + "WEIGHT int," + "CITY char(15))" ); stmt.execute( "create table SP (" + "SNUM char(5) not null," + "PNUM char(6) not null," + "QTY int)" ); stmt.execute( "create table J (" + "JNUM char(4) not null," + "JNAME char(10)," + "CITY char(15))" ); stmt.execute( "create table SPJ (" + "SNUM char(5) not null," + "PNUM char(6) not null," + "JNUM char(4) not null," + "QTY int)" ); stmt.execute("create unique index SX on S (SNUM)"); stmt.execute("create unique index PX on P (PNUM)"); stmt.execute("create unique index JX on J (JNUM)"); stmt.execute("create unique index SPX on SP (SNUM, PNUM)"); stmt.execute("create unique index SPJX on SPJ (SNUM, PNUM, JNUM)"); stmt.close(); con.close(); } catch (SQLException ex) { System.out.println("\nSQLException...\n"); while (ex != null) { System.out.println("SQLState: " + ex.getSQLState()); System.out.println("Message: " + ex.getMessage()); System.out.println("Vendor: " + ex.getErrorCode()); ex = ex.getNextException(); System.out.println(""); } } catch (Exception ex) { ex.printStackTrace(); } } private static boolean usageOnly(String[] args) { if (args.length > 0) { if (args[0].equalsIgnoreCase("-help") || args[0].equalsIgnoreCase("-h") || args[0].equalsIgnoreCase("-usage") || args.length > 2) System.out.println( "Usage: java SuppliersAndPartsCreateTables" + " [] []"); return true; } else return false; } } // SuppliersAndPartsCreateTables class //