//import java.rmi.*; //import java.rmi.server.*; //import java.sql.*; public class DataStepGatewayAdapterTester { // Test the interface class that SAS will use to access remote databases through JDBC // This client is not designed for use as a java application // main() should only be used for testing purposes private static void usage () { System.out.println ( "Usage:\n" + DataStepGatewayAdapterTester.class.getName() + " , or\n" + DataStepGatewayAdapterTester.class.getName() + " " ); } public static void main(String[] args){ double cHandle = 0; double sHandle = 0; double rHandle = 0; String query; String message; java.text.DecimalFormat nf = new java.text.DecimalFormat ("########"); if (args.length != 1 && args.length != 4) { usage (); System.exit(1); } // System.setSecurityManager ( new RMISecurityManager() ); try { DataStepGatewayAdapter dbi = new DataStepGatewayAdapter(); if (args.length == 4) { System.out.println ("connecting..."); cHandle = dbi.getConnectionHandle ( args[0], args[1], args[2], args[3] ); } else { cHandle = Double.parseDouble ( args[0] ); } System.out.println ("Handle:"+nf.format(cHandle)); sHandle = dbi.getStatementHandle (cHandle); query = "update NotATable set x=100 where x=1"; System.out.println ("\n"+query); dbi.executeUpdate (sHandle, query); message = dbi.getExceptionMessage (sHandle); if (message != null) System.out.println ("exception message:"+message); query = "select relname from pg_class"; System.out.println ("\n"+query); rHandle = dbi.executeQuery (sHandle, "select relname from pg_class where relname not like 'pg_%' order by relname"); message = dbi.getExceptionMessage (sHandle); if (message != null) System.out.println ("exception message:"+message); System.out.println (dbi.getColumnCount(rHandle)); while (dbi.nextRow (rHandle)) { String s = dbi.getText (rHandle, 1); System.out.println (s); } System.out.println ("\nTester is done."); dbi.closeConnectionHandle(cHandle); } catch (Exception e) { System.out.println ("Exception in tester:"+e); e.printStackTrace(); System.exit(1); } System.exit(0); } }