Galera, estou com um probleminha para acessaro o banco de dados.
Estou utilizando HSQLDB
public class BD {
private String driver = "org.hsqldb.jdbcDriver";
private String usuario = "sa";
private String senha = "";
private Connection conn;
private Statement stmt;
private ResultSet res;
public void conecta(String caminho) throws BDException{
try {
String a = "C:/Diego/CursoJavaWeb/DesenvolvimentoJavaWeb/CursoJavaWeb/WebContent/WEB-INF/bd/EcommerceBD";
Class.forName(driver);
conn = DriverManager.getConnection("jdbc:hsqldb:file:"+caminho, usuario,senha);
}catch(Exception e){
throw new BDException(e);
}
}
public class ECommerceListener implements ServletContextListener {
public ECommerceListener() {
}
public void contextInitialized(ServletContextEvent event){
BDFacade bd = new BDFacade();
String caminho = event.getServletContext().getRealPath(event.getServletContext().getContextPath()+"/WEB-INF/bd/ECommerceBD");
event.getServletContext().setAttribute("bd", bd);
try{
bd.conectaBanco(caminho);
}catch(BDException e){
event.getServletContext().log(e, "Caminho: " +caminho);
}
}
public class BDFacade {
BD bd;
public BDFacade(){
bd = new BD();
}
public void conectaBanco(String caminho) throws BDException{
bd.conecta(caminho);
}
public class ProdutoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public ProdutoServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BDFacade bd = (BDFacade)request.getServletContext().getAttribute("bd");
try {
List<Produto> listaProdutos = bd.getListaProdutos();
for(Produto p: listaProdutos){
System.out.println(p.getNome());
System.out.println(p.getDescricao());
}
} catch (BDException e) {
System.out.println(e);
}
aparece o seguinte erro ao tentar rodar:
09/05/2011 20:17:33 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Arquivos de Programas\Java\jdk1.6.0_16\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Common Files\GTK\2.0\bin;C:\Python26;C:\Python26\Django-1.2.3\django\bin;C:\Program Files\Git\cmd;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\Java\jdk1.6.0_16\lib;C:\Diego\eclipse-jee-helios\eclipse;
09/05/2011 20:17:34 org.apache.tomcat.util.digester.SetPropertiesRule begin
AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:CursoJavaWeb' did not find a matching property.
09/05/2011 20:17:35 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
09/05/2011 20:17:36 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
09/05/2011 20:17:36 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 4563 ms
09/05/2011 20:17:36 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
09/05/2011 20:17:36 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
09/05/2011 20:17:38 org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [321] milliseconds.
09/05/2011 20:17:44 org.apache.catalina.core.ApplicationContext log
GRAVE: Caminho: C:\Diego\CursoJavaWeb\DesenvolvimentoJavaWeb\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\CursoJavaWeb\CursoJavaWeb\WEB-INF\bd\ECommerceBD
br.ufpb.dce.cursos.javaweb.bd.BDException: java.sql.SQLInvalidAuthorizationSpecException: invalid authorization specification
at br.ufpb.dce.cursos.javaweb.bd.BD.conecta(BD.java:41)
at br.ufpb.dce.cursos.javaweb.bd.BDFacade.conectaBanco(BDFacade.java:23)
at br.ufpb.dce.cursos.javaweb.ECommerceListener.contextInitialized(ECommerceListener.java:34)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLInvalidAuthorizationSpecException: invalid authorization specification
at org.hsqldb.jdbc.Util.sqlException(Util.java:289)
at org.hsqldb.jdbc.Util.sqlException(Util.java:103)
at org.hsqldb.jdbc.JDBCConnection.<init>(JDBCConnection.java:3303)
at org.hsqldb.jdbc.JDBCDriver.getConnection(JDBCDriver.java:321)
at org.hsqldb.jdbc.JDBCDriver.connect(JDBCDriver.java:259)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at br.ufpb.dce.cursos.javaweb.bd.BD.conecta(BD.java:36)
... 10 more
Caused by: org.hsqldb.HsqlException: invalid authorization specification
at org.hsqldb.error.Error.error(Error.java:131)
at org.hsqldb.error.Error.error(Error.java:101)
at org.hsqldb.rights.User.checkPassword(User.java:103)
at org.hsqldb.rights.UserManager.getUser(UserManager.java:235)
at org.hsqldb.Database.connect(Database.java:349)
at org.hsqldb.DatabaseManager.newSession(DatabaseManager.java:163)
at org.hsqldb.jdbc.JDBCConnection.<init>(JDBCConnection.java:3281)
... 15 more
09/05/2011 20:17:44 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
09/05/2011 20:17:44 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
09/05/2011 20:17:44 org.apache.catalina.startup.Catalina start
INFO: Server startup in 8026 ms