RE: [QUESTIONS] Java and Postgres
От | Jackson, DeJuan |
---|---|
Тема | RE: [QUESTIONS] Java and Postgres |
Дата | |
Msg-id | F10BB1FAF801D111829B0060971D839F271788@dal_cps.cpsgroup.com обсуждение исходный текст |
Список | pgsql-interfaces |
Make sure the postmaster is running with the -i option enabled. Java uses TCP/IP to connect. I'm forwarding you to the INTERFACES list just in case it's something more. -DEJ > -----Original Message----- > From: Ilhuicatzi Cortes Jose Henry > [SMTP:ic94006@conejo.ingenieria.uatx.mx] > Sent: Wednesday, May 06, 1998 7:14 PM > To: pgsql-questions@postgreSQL.org > Subject: [QUESTIONS] Java and Postgres > > > > Hi: > I'm trying to make an application with Java and Postgresql. The > application will be made for Win95 plataform. > > I'm makiing tests of connection wiht a postgres program example > which is Basic.java, in the example url,database,usr and password > are > directly into the program. The program is below. > > import java.io.*; > import java.sql.*; > import java.text.*; > > /** > * This example tests the basic components of the JDBC driver, and > shows > * how even the simplest of queries can be implemented. > * > * To use this example, you need a database to be in existence. This > example > * will create a table called basic. > * > */ > > public class Basic > { > Connection db; // The connection to the database > Statement st; // Our statement to run queries with > > public Basic() throws ClassNotFoundException, FileNotFoundException, > IOException, SQLException > { > String url = "jdbc:postgresql://148.219.122.11:5432/ic94006"; > String usr = "ic94006"; > String pwd = "???????"; > > // Load the driver > Class.forName("postgresql.Driver"); > > // Connect to database > System.out.println("Connecting to Database URL = " + url); > db = DriverManager.getConnection(url, usr, pwd); > > System.out.println("Connected...Now creating a statement"); > st = db.createStatement(); > > // Clean up the database (in case we failed earlier) then > initialise > cleanup(); > > // Now run tests using JDBC methods > doexample(); > > // Clean up the database > cleanup(); > > // Finally close the database > System.out.println("Now closing the connection"); > st.close(); > db.close(); > > } > > /** > * This drops the table (if it existed). No errors are reported. > */ > public void cleanup() > { > try { > st.executeUpdate("drop table basic"); > } catch(Exception ex) { > // We ignore any errors here > } > } > > /** > * This performs the example > */ > public void doexample() throws SQLException > { > System.out.println("\nRunning tests:"); > > // First we need a table to store data in > st.executeUpdate("create table basic (a int2, b int2)"); > > // Now insert some data, using the Statement > st.executeUpdate("insert into basic values (1,1)"); > st.executeUpdate("insert into basic values (2,1)"); > st.executeUpdate("insert into basic values (3,1)"); > > // For large inserts, a PreparedStatement is more efficient, > because it > // supports the idea of precompiling the SQL statement, and to > store > // directly, a Java object into any column. PostgreSQL doesnt > support > // precompiling, but does support setting a column to the value of > a > // Java object (like Date, String, etc). > // > // Also, this is the only way of writing dates in a datestyle > independent > // manner. (DateStyles are PostgreSQL's way of handling different > methods > // of representing dates in the Date data type.) > PreparedStatement ps = db.prepareStatement("insert into basic > values (?,?)"); > for(int i=2;i<5;i++) { > ps.setInt(1,4); // "column a" = 5 > ps.setInt(2,i); // "column b" = i > ps.executeUpdate(); // executeUpdate because insert returns > no data > } > ps.close(); // Always close when we are done > with it > > // Finally perform a query on the table > System.out.println("performing a query"); > ResultSet rs = st.executeQuery("select a, b from basic"); > if(rs!=null) { > // Now we run through the result set, printing out the result. > // Note, we must call .next() before attempting to read any > results > while(rs.next()) { > int a = rs.getInt("a"); // This shows how to get the value by > name > int b = rs.getInt(2); // This shows how to get the value by > column > System.out.println(" a="+a+" b="+b); > } > rs.close(); // again, you must close the result when done > } > > // Now run the query again, showing a more efficient way of > getting the > // result if you don't know what column number a value is in > System.out.println("performing another query"); > rs = st.executeQuery("select * from basic where b>1"); > if(rs!=null) { > // First find out the column numbers. > // > // It's best to do this here, as calling the methods with the > column > // numbers actually performs this call each time they are > called. This > // really speeds things up on large queries. > // > int col_a = rs.findColumn("a"); > int col_b = rs.findColumn("b"); > > // Now we run through the result set, printing out the result. > // Again, we must call .next() before attempting to read any > results > while(rs.next()) { > int a = rs.getInt(col_a); // This shows how to get the value by > name > int b = rs.getInt(col_b); // This shows how to get the value by > column > System.out.println(" a="+a+" b="+b); > } > rs.close(); // again, you must close the result when done > } > > // The last thing to do is to drop the table. This is done in the > // cleanup() method. > } > > /** > * Display some instructions on how to run the example > */ > public static void instructions() > { > System.out.println("\nThis example tests the basic components of > the JDBC driver, demonstrating\nhow to build simple queries in > java.\n"); > System.out.println("Useage:\n java example.basic > jdbc:postgresql:database user password [debug]\n\nThe debug field can > be anything. It's presence will enable DriverManager's\ndebug trace. > Unless you want to see screens of items, don't put anything in\ > nhere."); > System.exit(1); > } > > /** > * This little lot starts the test > */ > public static void main(String args[]) > { > System.out.println("PostgreSQL basic test v6.3 rev 1\n"); > > //if(args.length<3) > // instructions(); > > // This line outputs debug information to stderr. To enable this, > simply > // add an extra parameter to the command line > > DriverManager.setLogStream(System.err); > > // Now run the tests > try { > Basic test = new Basic(); > } catch(Exception ex) { > System.err.println("Exception caught.\n"+ex); > ex.printStackTrace(); > } > } > } > > The problem occurs when i run this program from Win95 and the Java > releases > next exception. > > DriverManager.initialize: jdbc.drivers = null > JDBC DriverManager initialized > registerDriver: driver [className = postgresql.Driver,context=null, > postgresql.Driver@1cc771 > Connecting to Database URL = > jdbc:postgresql://148.219.122.11:5432/ic94006 > > DriverManager.getConnection("jdbc:postgresql://148.219.122.11:5432/ic9 > 4006") > > java.sql.SQL.Exception:Connection failed:java.net.ConnectException > Connection refused > at postgresql.Connection.<init> (Connection.java:184) > at postgresql.Driver.connect(Driver.java:87) > > getConnection failed: java.sql.SQLException: Connection failed: > java.net.ConnectException: Connection refused > Exception caught. > java.sql.SQLException: Connection failed: java.net.ConnectException: > Connection refused > at postgresql.Connection.<init>(Connection.java: 184) > at postgresql.Driver.connect(Driver.java:87) > > > > I think that problem is in the port number, i use 5423 in port > number but > i don't know if this port number is OK, or can i use other port > number? > > i use Java class that came with Postgresql and i think that run > correctly, > but when i run the program, Java releases those exceptions. > > If my program have any error i hope that yours notice me. > > Thanks. > J. Henry Ilhuicatzi Cortes. > Universidad Autonoma de Tlaxcala > > > -- > Official WWW Site: http://www.postgresql.org > Online Docs & FAQ: http://www.postgresql.org/docs > Searchable Lists: http://www.postgresql.org/mhonarc
В списке pgsql-interfaces по дате отправления: