this is my first implementation of GWT, JDBC using Derby DB. i
followed the article
http://www-128.ibm.com/developerworks/library/os-ad-gwt3/index.html
when i try to run, i get jdbc connection error.
here is my simple code for connecting to DB.
package com.ibm.examples.server;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.ibm.examples.client.Topping;
import com.ibm.examples.client.ToppingService;
public class ToppingServiceImpl extends RemoteServiceServlet
implements ToppingService {
public static final String DRIVER
="org.apache.derby.jdbc.EmbeddedDriver";
public static final String PROTOCOL = "jdbc:derby:c:/Java DB/javadb/
demo/databases/slicr";
public List getAllToppings() {
try {
System.out.println("came in try block 1");
Class.forName(DRIVER).newInstance();
Connection con = DriverManager.getConnection(PROTOCOL);
System.out.println("came in try block 2");
Statement s = con.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM app.toppings ORDER BY
name");
System.out.println(rs);
return ObjectFactory.convertToObjects(rs, Topping.class);
} catch (Exception e) {
e.printStackTrace();
return new ArrayList();
} finally {
try {
DriverManager.getConnection("jdbc:derby:;shutdown=true");
} catch (SQLException ignore) {}
}
}
}
AND BELOW IS ARE THE ERRORS.........
came in try block 1
sql error occured
java.sql.SQLException: Failed to start database 'c:/Java DB/javadb/
demo/databases/slicr', see the next exception for details.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
Source)
at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown
Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at
com.ibm.examples.server.ToppingServiceImpl.getAllToppings(ToppingServiceImpl.java:
30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
281)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:
167)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
com.google.gwt.dev.shell.GWTShellServlet.service(GWTShellServlet.java:
248)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:
198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
799)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
577)
at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
plz........guys, help me in getting simple connection. I can play with
the rest.
Connection con = DriverManager.getConnection(PROTOCOL);
notice the next print statement doesnt come. rather, it goes in catch
block....
plz. kindly help me in this one connection
> com.ibm.examples.server.ToppingServiceImpl.getAllToppings(ToppingServiceImpl.java:
> 30)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
> 281)
> at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:
> 167)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> com.google.gwt.dev.shell.GWTShellServlet.service(GWTShellServlet.java:
> 248)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 237)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
> 157)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 214)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
> 104)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 520)
> at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:
> 198)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 152)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
> 104)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 520)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> 137)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
> 104)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> 118)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
> 102)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 520)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 109)
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
Actually off-topic in this group....
It seems that you should use a different PROTOCOL string to connect to
Derby.
"jdbc:derby:c:/Java DB/javadb/demo/databases/slicr" seems to be wrong.
Try something like:
"jdbc:derby:slicr"
or
"jdbc:derby:/c:/Java DB/javadb/demo/databases/slicr"
Read the docs on derby for the correct connection string.
Greetz,
Fushion.
> > the rest.- Tekst uit oorspronkelijk bericht niet weergeven -
>
> - Tekst uit oorspronkelijk bericht weergeven -
guys, i got my first db connection working. there was nothing wrong !
i just closed eclipse project and reopened when executed runs like a
horse. i thing i had come connections issues.
got resolved !!!
Happy Coding
Mohammed