Re: error when using move, any suggestions?
От | Noel |
---|---|
Тема | Re: error when using move, any suggestions? |
Дата | |
Msg-id | 3E0268CF.5010505@med.monash.edu.au обсуждение исходный текст |
Ответ на | Re: error when using move, any suggestions? (Dave Cramer <Dave@micro-automation.net>) |
Ответы |
Re: error when using move, any suggestions?
(Dave Cramer <Dave@micro-automation.net>)
|
Список | pgsql-jdbc |
Dave, Thanks for taking the time to look at the problem. I tried the stmt.executeUpdate. It also gave the same error. Once again, thanks Noel >Noel, > >Ok, sorry, jdbc is getting in the way here. I haven't got time right >now, so if you can't wait try changing the stmt.execute to >stmt.executeUpdate, and see what happens. I will try to figure it out >later though. > >Dave >On Wed, 2002-12-18 at 23:51, Noel wrote: > > >>Hi Dave, >> >>I modified the small program to reflect the statement I performed in psql: >> >>import blastDb.*; >>import java.sql.*; >>import java.io.*; >>import java.util.*; >>import java.lang.*; >> >>public class TestFetchSize >>{ >> public static void main(String[] args) >> { >> try >> { >> BlastDB db = new BlastDB(); >> >> Statement stmt = db.connection.createStatement(); >> int counte = 0; >> stmt.execute("begin work"); >> stmt.execute("declare test cursor for select id from region >>where protein_database = 1"); >> ResultSet rs; >> System.out.println("here1"); >> stmt.execute("move forward 99 in test"); >> System.out.println("here2"); >> while(stmt.execute("fetch forward 2 in test")) >> { >> rs = stmt.getResultSet(); >> if (rs.next()) >> { >> ++counte; >> while (rs.next()) >> { >> ++counte; >> } >> } >> else >> break; >> >> } >> >> rs = stmt.getResultSet(); >> if (rs.next()) >> System.out.println("ok"); >> else >> System.out.println("NO"); >> System.out.println(counte); >> stmt.execute("end work"); >> } >> catch (Exception e) >> { >> e.printStackTrace(); >> System.out.println(e.getMessage()); >> } >> } >>} >> >>This is the out put, the same error as before :( >>here1 >>Unable to fathom update count MOVE >> at >>org.postgresql.core.QueryExecutor.receiveCommandStatus(QueryExecutor.java:182) >> at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:80) >> at org.postgresql.Connection.ExecSQL(Connection.java:398) >> at org.postgresql.jdbc2.Statement.execute(Statement.java:130) >> at TestFetchSize.main(TestFetchSize.java:21) >>Unable to fathom update count MOVE >> >>So the programe is not moving beyound the move statement. >> >>Many thanks >>Noel >> >>P.S. Is this sim to the INSERT problem with the sim error message? >> >> >>Dave Cramer wrote: >> >> >> >>>Noel, >>> >>>Well, your sql in the driver was fetch forward 2000 in test, does that >>>work? >>> >>>It shouldn't be a driver error, the driver just passes sql through. >>> >>>Dave >>>On Wed, 2002-12-18 at 20:51, Noel Faux wrote: >>> >>> >>> >>> >>>>Hi Dave, >>>> >>>>It works fine in psql: >>>>blast=# begin; >>>>BEGIN >>>>blast=# declare test cursor for select id from region where >>>>protein_database = 1; >>>>SELECT >>>>blast=# move forward 99 in test; >>>>MOVE >>>>blast=# fetch forward 2 in test; >>>> id >>>>-------- >>>>486175 >>>>481881 >>>>(2 rows) >>>> >>>>Is this a driver error? >>>>Thanks for your reply >>>>Cheers >>>>Noel >>>> >>>>Noel Faux >>>>Department of Biochemistry and Molecluar Biology >>>>Monash University >>>>Clayton 3168 >>>>Victoria >>>>Australia >>>> >>>>----- Original Message ----- >>>>From: Dave Cramer <Dave@micro-automation.net> >>>>Date: Wednesday, December 18, 2002 9:43 pm >>>>Subject: Re: [JDBC] error when using move, any suggestions? >>>> >>>> >>>> >>>> >>>> >>>>>Noel, >>>>> >>>>>What do you get from the server when you try the same commands in >>>>>psql? >>>>>I just tried it and it works fine? >>>>> >>>>>test=# begin; >>>>>BEGIN >>>>>test=# declare test cursor for select id from address ; >>>>>DECLARE CURSOR >>>>>test=# move forward 99 in test; >>>>>MOVE 1 >>>>>test=# fetch forward 2000 in test; >>>>>id >>>>>---- >>>>>(0 rows) >>>>> >>>>>Dave >>>>> >>>>>On Wed, 2002-12-18 at 00:30, Noel wrote: >>>>> >>>>> >>>>> >>>>> >>>>>>Hi all, >>>>>>I'm new to postgreSQL. >>>>>>I wrote a little test program to learn how to use fetch and move >>>>>> >>>>>> >>>>>> >>>>>> >>>>>in >>>>> >>>>> >>>>> >>>>> >>>>>>postgreSQL. >>>>>> >>>>>>import blastDb.*; >>>>>>import java.sql.*; >>>>>>import java.io.*; >>>>>>import java.util.*; >>>>>>import java.lang.*; >>>>>> >>>>>>public class TestFetchSize >>>>>>{ >>>>>> public static void main(String[] args) >>>>>> { >>>>>> try >>>>>> { >>>>>> BlastDB db = new BlastDB(); >>>>>> >>>>>> Statement stmt =db.connection.createStatement(); >>>>>> int counte = 0; >>>>>> stmt.execute("begin work"); >>>>>> stmt.execute("declare test cursor for select id >>>>>> >>>>>> >>>>>> >>>>>> >>>>>from region where >>>> >>>> >>>>> >>>>> >>>>> >>>>> >>>>>>protein_database = 1"); >>>>>> ResultSet rs; >>>>>> stmt.execute("move forward 99 in test"); >>>>>> while(stmt.execute("fetch forward 2000 in test")) >>>>>> { >>>>>> rs = stmt.getResultSet(); >>>>>> if (rs.next()) >>>>>> { >>>>>> ++counte; >>>>>> while (rs.next()) >>>>>> { >>>>>> ++counte; >>>>>> } >>>>>> } >>>>>> else >>>>>> break; >>>>>> >>>>>> } >>>>>> System.out.println(counte); >>>>>> stmt.execute("end work"); >>>>>> } >>>>>> catch (Exception e) >>>>>> { >>>>>> e.printStackTrace(); >>>>>> System.out.println(e.getMessage()); >>>>>> } >>>>>> } >>>>>>} >>>>>> >>>>>>It compiles ok, however when run i get this message: >>>>>>Unable to fathom update count MOVE >>>>>>at >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>org.postgresql.core.QueryExecutor.receiveCommandStatus(QueryExecutor.java:182)> >>>>at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:80) >>>> >>>> >>>> >>>> >>>>>>at org.postgresql.Connection.ExecSQL(Connection.java:398) >>>>>>at org.postgresql.jdbc2.Statement.execute(Statement.java:130) >>>>>>at TestFetchSize.main(TestFetchSize.java:25) >>>>>>Unable to fathom update count MOVE >>>>>> >>>>>>I've search the web and the archives, and the only thing close >>>>>> >>>>>> >>>>>> >>>>>> >>>>>is the >>>>> >>>>> >>>>> >>>>> >>>>>>thread about a sim problem with INSERT: >>>>>>"Basically the driver was storing the oid in an int. The value >>>>>> >>>>>> >>>>>> >>>>>> >>>>>you have >>>>> >>>>> >>>>> >>>>> >>>>>>is overflowing the value allowed for a signed int. >>>>>> >>>>>>thanks, >>>>>>--Barry " >>>>>> >>>>>>Is this the same problem ? >>>>>>Using 7.4 divers with JDBC3 support. >>>>>> >>>>>>Cheers >>>>>>Noel >>>>>> >>>>>> >>>>>>---------------------------(end of broadcast)-------------------- >>>>>> >>>>>> >>>>>> >>>>>> >>>>>------- >>>>> >>>>> >>>>> >>>>> >>>>>>TIP 4: Don't 'kill -9' the postmaster >>>>>> >>>>>> >>>>>> >>>>>> >>>>>-- >>>>>Dave Cramer <Dave@micro-automation.net> >>>>> >>>>> >>>>>---------------------------(end of broadcast)---------------------- >>>>>----- >>>>>TIP 2: you can get off all lists at once with the unregister command >>>>> (send "unregister YourEmailAddressHere" to >>>>>majordomo@postgresql.org) >>>>> >>>>> >>>>> >>>>> >>>>---------------------------(end of broadcast)--------------------------- >>>>TIP 6: Have you searched our list archives? >>>> >>>>http://archives.postgresql.org >>>> >>>> >>>> >>>>
В списке pgsql-jdbc по дате отправления: