Gravar no banco. Funciona em um PC e nao em outro

Ola,

Estou com um problema em uma classe.
A minha classe funciona em um computador, mas nao funciona em outros.
segue a classe:


public class TesteDao {
    private Statement stm = null;
    private ConBD conec = new ConBD();

		public void adiciona(Teste teste) throws SQLException, ParseException {
		    try {
		           stm = ConBD.getConnection().createStatement();
		           PreparedStatement pstmt = stm.getConnection().prepareStatement(
		             "insert into teste values (?, ?, ?) ");
		           pstmt.setInt(1, teste.getId());
		           pstmt.setString(2, teste.getDescricao());
		           pstmt.setInt(3, teste.getQuant());
		           pstmt.executeUpdate();
		         } catch (SQLException ex) {
		           System.out.println("erro na inclusao");
		         } 
		         conec.desconBD();
		         
//		         stm.close();
		}

Aparece o seguinte erro:
Conectou ao BD… // essa mensagem e’ da classe de conexao
erro na inclusao
java.lang.NullPointerException
at jdbc.ConecBD.desconecDB(ConecBD.java:29)
at DAO.AlunosDao.adiciona(TesteDao.java:29)
at org.apache.jsp.GravaTeste_jsp._jspService(GravaTeste_jsp.java:82)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

GravaTeste.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*, DAO.*" %>
<jsp:useBean id="testeDao" class="DAO.TesteDao" scope="session" />   
<jsp:useBean id="teste" class="DAO.Teste" scope="session" />   
	
	<%	
		teste.setId(Integer.parseInt(request.getParameter("ID")));
		teste.setDescricao(request.getParameter("descricao"));
		teste.setQuantidade(request.getParameter("quantidade"));
		testeDao.adiciona(teste);
	%>

No meu computador funciona, mas quando copiei para o notebook, nao funciona.
O banco e o SQL server 2005, esta com o tcp/ip habilitado, com 1433 e nao esta
com firewall. Estou autenticando pelo SQL, ou seja, esta igual ao meu PC.

[quote=rsaforuns]Ola,

Estou com um problema em uma classe.
A minha classe funciona em um computador, mas nao funciona em outros.
segue a classe:


public class TesteDao {
    private Statement stm = null;
    private ConBD conec = new ConBD();

		public void adiciona(Teste teste) throws SQLException, ParseException {
		    try {
		           stm = ConBD.getConnection().createStatement();
		           PreparedStatement pstmt = stm.getConnection().prepareStatement(
		             "insert into teste values (?, ?, ?) ");
		           pstmt.setInt(1, teste.getId());
		           pstmt.setString(2, teste.getDescricao());
		           pstmt.setInt(3, teste.getQuant());
		           pstmt.executeUpdate();
		         } catch (SQLException ex) {
		           System.out.println("erro na inclusao");
		         } 
		         conec.desconBD();
		         
//		         stm.close();
		}

Aparece o seguinte erro:
Conectou ao BD… // essa mensagem e’ da classe de conexao
erro na inclusao
java.lang.NullPointerException
at jdbc.ConecBD.desconecDB(ConecBD.java:29)
at DAO.AlunosDao.adiciona(TesteDao.java:29)
at org.apache.jsp.GravaTeste_jsp._jspService(GravaTeste_jsp.java:82)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

GravaTeste.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*, DAO.*" %>
<jsp:useBean id="testeDao" class="DAO.TesteDao" scope="session" />   
<jsp:useBean id="teste" class="DAO.Teste" scope="session" />   
	
	<%	
		teste.setId(Integer.parseInt(request.getParameter("ID")));
		teste.setDescricao(request.getParameter("descricao"));
		teste.setQuantidade(request.getParameter("quantidade"));
		testeDao.adiciona(teste);
	%>

No meu computador funciona, mas quando copiei para o notebook, nao funciona.
O banco e o SQL server 2005, esta com o tcp/ip habilitado, com 1433 e nao esta
com firewall. Estou autenticando pelo SQL, ou seja, esta igual ao meu PC.
[/quote]
Rapaz posta aí a sua classe de conexão com o BD e aproveita e explica melhor o que vc esta fazendo vc está tentando acessar o seu servidor de banco de dados do desktop pelo nootbook ou vc está criando um novo banco de dados no nootbook?

Estou so’ copiando o projeto do meu PC para o meu note.

segue a classe de conexao:


package jdbc;
import java.sql.*;

public class ConBD {

	  public static Connection con = null;
	  public Statement stm;
	  private static final String URL = "jdbc:jtds:sqlserver://SQLNOTE/bdteste";
	  private static final String DRIVER = "net.sourceforge.jtds.jdbc.Driver";
	  private static final String USUARIO = "sa";
	  private static final String SENHA = "123456";
	  
	  public static Connection getConnection() throws SQLException{
	         try{
	             Class.forName(DRIVER);
	             System.out.println("Conectando a BD...");
	             con = DriverManager.getConnection(URL, USUARIO, SENHA);
	             return con;

	         }catch (ClassNotFoundException e) {
	                     System.out.println("Falha ao caregar o drive");

	             throw new SQLException (e.getMessage());
	         }
	     }

	 public Connection desconBD() {
	  	try {
	  	     con.close();
	  	}
	  	catch(Exception e) {
	  		e.printStackTrace();
	  	}
	  	return con;
	  }
}

[quote=rsaforuns]Estou so’ copiando o projeto do meu PC para o meu note.

segue a classe de conexao:


package jdbc;
import java.sql.*;

public class ConBD {

	  public static Connection con = null;
	  public Statement stm;
	  private static final String URL = "jdbc:jtds:sqlserver://SQLNOTE/bdteste"; // <-------- OBSERVE ESSA LINHA
	  private static final String DRIVER = "net.sourceforge.jtds.jdbc.Driver";
	  private static final String USUARIO = "sa";
	  private static final String SENHA = "123456";
	  
	  public static Connection getConnection() throws SQLException{
	         try{
	             Class.forName(DRIVER);
	             System.out.println("Conectando a BD...");
	             con = DriverManager.getConnection(URL, USUARIO, SENHA);
	             return con;

	         }catch (ClassNotFoundException e) {
	                     System.out.println("Falha ao caregar o drive");

	             throw new SQLException (e.getMessage());
	         }
	     }

	 public Connection desconBD() {
	  	try {
	  	     con.close();
	  	}
	  	catch(Exception e) {
	  		e.printStackTrace();
	  	}
	  	return con;
	  }
}

[/quote]
Creio que o problema está na linha da URL, preste bastante atenção a sequencia da url que vc deve usar tem que ser essa:

String URL = "jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=nomeDoMeuBanco;namedPipe=true"

Onde 127.0.0.1 vc deve substituir pelo ip da maquina do servidor de banco de dados;
1433 vc substituirá pela porta onde está rodando o serviço do seu servidor de banco de dados;
Em seguida vc vai colocar o nome do seu banco;
Pra terminar vc vai marcar o atributo namePipe como true, que representa o tipo de conexão que vc vai utilizar;

Espero ter ajudado!

OK, vou testar.