Re: [JDBC] JDBC isn't running
От | Barry Lind |
---|---|
Тема | Re: [JDBC] JDBC isn't running |
Дата | |
Msg-id | 3E2465E8.9010305@xythos.com обсуждение исходный текст |
Ответ на | JDBC isn't running (Marcelo Pereira <gandalf@sum.desktop.com.br>) |
Список | pgsql-general |
Marcelo, It should be: java HelloPostgresql not java HelloPostgresql.class This was mentioned in at least one other email in this thread. --Barry Marcelo Pereira wrote: > Hi again, > > I have configured the variable: > CLASSPATH=/usr/local/pgsql/share/java/postgresql.jar:. > > and compiled (without errors) the following source code: > > // -- begin > /** > * A demo program to show how jdbc works with postgresql > * Nick Fankhauser 10/25/01 > * nickf@ontko.com or nick@fankhausers.com > * This program may be freely copied and modified > * Please keep this header intact on unmodified versions > * The rest of the documentation that came with this demo program > * may be found at http://www.fankhausers.com/postgresql/jdbc > */ > > import java.sql.*; // All we need for JDBC > import java.text.*; > import java.io.*; > > public class HelloPostgresql > { > Connection db; // A connection to the database > Statement sql; // Our statement to run queries with > DatabaseMetaData dbmd; // This is basically info the driver delivers > // about the DB it just connected to. I use > // it to get the DB version to confirm the > // connection in this example. > > public HelloPostgresql(String argv[]) > throws ClassNotFoundException, SQLException > { > String database = argv[0]; > String username = argv[1]; > String password = argv[2]; > Class.forName("org.postgresql.Driver"); //load the driver > db = DriverManager.getConnection("jdbc:postgresql:"+database, username, password); //connect to the db > dbmd = db.getMetaData(); //get MetaData to confirm connection > System.out.println("Connection to "+dbmd.getDatabaseProductName()+" "+dbmd.getDatabaseProductVersion()+" successful.\n"); > sql = db.createStatement(); //create a statement that we can use later > > String sqlText = "create table jdbc_demo (code int, text varchar(20))"; > System.out.println("Executing this command: "+sqlText+"\n"); > sql.executeUpdate(sqlText); > > sqlText = "insert into jdbc_demo values (1,'One')"; > System.out.println("Executing this command: "+sqlText+"\n"); > sql.executeUpdate(sqlText); > > sqlText = "insert into jdbc_demo values (3,'Four')"; > System.out.println("Executing this command twice: "+sqlText+"\n"); > sql.executeUpdate(sqlText); > sql.executeUpdate(sqlText); > > sqlText = "update jdbc_demo set text = 'Three' where code = 3"; > System.out.println("Executing this command: "+sqlText+"\n"); > sql.executeUpdate(sqlText); > System.out.println (sql.getUpdateCount()+" rows were update by this statement\n"); > > System.out.println("\n\nNow demostrating a prepared statement..."); > sqlText = "insert into jdbc_demo values (?,?)"; > System.out.println("The Statement looks like this: "+sqlText+"\n"); > System.out.println("Looping three times filling in the fields...\n"); > PreparedStatement ps = db.prepareStatement(sqlText); > for (int i=10;i<13;i++) > { > System.out.println(i+"...\n"); > ps.setInt(1,i); //set column one (code) to i > ps.setString(2,"HiHo"); //Column two gets a string > ps.executeUpdate(); > } > ps.close(); > > > System.out.println("Now executing the command: "+"select * from jdbc_demo"); > ResultSet results = sql.executeQuery("select * from jdbc_demo"); > if (results != null) > { > while (results.next()) > { > System.out.println("code = "+results.getInt("code")+"; text = "+results.getString(2)+"\n"); > } > } > results.close(); > > > sqlText = "drop table jdbc_demo"; > System.out.println("Executing this command: "+sqlText+"\n"); > sql.executeUpdate(sqlText); > > db.close(); > } > > public static void correctUsage() > { > System.out.println("\nIncorrect number of arguments.\nUsage:\n "+"java \n"); > System.exit(1); > } > > public static void main (String args[]) > { > if (args.length != 3) correctUsage(); > try > { > HelloPostgresql demo = new HelloPostgresql(args); > } > catch (Exception ex) > { > System.out.println("***Exception:\n"+ex); > ex.printStackTrace(); > } > } > } > // -- end > > $ javac HelloPostgresql.java > $ java HelloPostgresql.class > Exception in thread "main" java.lang.NoClassDefFoundError: HelloPostgresql/class > > Where am I going wrong?? I have Java (J2SDK) and Ant > (Jakarta-Ant) configured properly, and postgresql (7.3.1) was configured > with ``--with-java'' option. > > I have created a table on postgresql, with some fields, to test this code, > but when I run it crashes instantly with the message above. > > The driver (postgresql.jar) was compiled and I have set CLASSPATH as > above. Why doesn't it code run? > > Thanks in advance and > Best Regards, > > Marcelo Pereira > > -- Remember that only God and ^[:w saves. > __ > (_.\ © Marcelo Pereira | > / / ___ marcelo@pereira.com | > / (_/ _ \__ [Math|99]-IMECC | > _______\____/_\___)___Unicamp_______________/ > > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) >
В списке pgsql-general по дате отправления: