Обсуждение: Problem accessing databse via servlets
Does anyone have any solution to my problem. I have 2 servlets, with basicly the same code for the database interface. My problem is that one works the others doesn't. I have local all trust host all 127.0.0.1 255.255.255.255 trust host all 192.168.1.0 255.255.255.0 trust for testing in my pg_hba.conf file. The servlets are accesing two different databases, and when i run the one that doesn't work i get the following meesage in my apache error_log The backend has broken the connection. Possibly the action you have attempted h\ as caused it to close. at postgresql.PG_Stream.ReceiveChar(PG_Stream.java:178) at postgresql.Connection.openConnection(Connection.java:219) at postgresql.Driver.connect(Driver.java:116) at java.sql.DriverManager.getConnection(DriverManager.java:457) at java.sql.DriverManager.getConnection(DriverManager.java:137) at Flykend.dbConn.<init>(dbConn.java) at Flykending.init(Flykending.java) at org.apache.jserv.JServServletManager.load_init(JServServletManager.j\ava:478) at org.apache.jserv.JServServletManager.loadServlet(JServServletManager\.java:397) at org.apache.jserv.JServConnection.processRequest(JServConnection.java\:287) at org.apache.jserv.JServConnection.run(JServConnection.java:197) at java.lang.Thread.run(Thread.java:479) The funny thing ?? is that the trouble program works if it is not run from a servlet, but from a command line???????? Simu Soft v/Anders Svensson Frederikssundsvej 20, 2 th DK-2400 København NV e-mail : Anders@simusoft.dk tlf. : +45 3583 8126
Anders Svensson <anders@simusoft.dk> writes: > I have 2 servlets, with basicly the same code for the database interface. > My problem is that one works the others doesn't. > The funny thing ?? is that the trouble program works if it is not run from > a servlet, but from a command line???????? Strictly a guess, but: I recall a similar complaint which turned out to be due to some kind of "virtual hosting" setup on the web server. The net effect was that the applet appeared to be connecting from a different IP address than the user thought it would be connecting from, and of course that virtual IP address wasn't listed in pg_hba.conf. If you are running a recent Postgres release (I think >= 6.5 but maybe this is in >= 6.5.1) the postmaster log should show the IP address that it saw the connection as coming from, so you can check this theory by looking in the logfile. The same message is echoed back to the client, BTW, but apparently the jserv code thinks it should protect your innocent eyes by not showing you the server error message :-( regards, tom lane