Erro conexão SqlServer2008

Estou tentando executar uma aplicação simples, que por enquanto só tem três classes e acontece o seguinte erro:

run:
03/09/2011 16:19:53 org.hibernate.cfg.annotations.Version
INFO: Hibernate Annotations 3.3.1.GA
03/09/2011 16:19:53 org.hibernate.cfg.Environment
INFO: Hibernate 3.2.5
03/09/2011 16:19:53 org.hibernate.cfg.Environment
INFO: hibernate.properties not found
03/09/2011 16:19:53 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
03/09/2011 16:19:53 org.hibernate.cfg.Environment
INFO: using JDK 1.4 java.sql.Timestamp handling
03/09/2011 16:19:53 org.hibernate.ejb.Version
INFO: Hibernate EntityManager 3.3.2.GA
03/09/2011 16:19:54 org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: entidades.Cidade
03/09/2011 16:19:54 org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity entidades.Cidade on table Cidade
03/09/2011 16:19:54 org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: entidades.Usuario
03/09/2011 16:19:54 org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity entidades.Usuario on table Usuario
[PersistenceUnit: FrigoManagerPU] Unable to configure EntityManagerFactory
Exception in thread “main” java.lang.NullPointerException
at execucao.Main.main(Main.java:24)

É a primeira vez que tento fazer com o SQLServer 2008.

Persistence

<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="FrigoManagerPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>entidades.Cadastros</class> <class>entidades.Cidade</class> <class>entidades.Usuario</class> <properties> <property name="hibernate.connection.username" value="DBATAK"/> <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="hibernate.connection.password" value="1"/> <property name="hibernate.connection.url" value="jdbc:sqlserver://;databaseName=SATKBTA"/> </properties> </persistence-unit> </persistence>

Na classe Dao


propConexao = new HashMap();
                propConexao.put("hibernate.connection.driver_class","com.microsoft.sqlserver.jdbc.SQLServerDriver");
                propConexao.put("hibernate.connection.url","jdbc:sqlserver://;databaseName=SATKBTA");
                propConexao.put("hibernate.connection.username", "dbatak");
                propConexao.put("hibernate.connection.password", "1");

Obrigado!

para o sql2005, 2008 vc precisa informar o caminho da instancia.

veja.

“jdbc:jtds:sqlserver://192.168.1.1:1433/bancodados;user=sa;password=xxxx;instance=instanciadosql2008”

use essa url…veja q estou usando JTDS como driver.

t+

Adicionei o Jar do JTDS, mas continua dando o mesmo erro, o link editado ficou assim:

<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="FrigoManagerPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>entidades.Cadastros</class> <class>entidades.Cidade</class> <class>entidades.Usuario</class> <properties> <property name="hibernate.connection.username" value="DBATAK"/> <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="hibernate.connection.password" value="1"/> <property name="hibernate.connection.url" value="jdbc:jtds:sqlserver://192.168.1.1:1433/SATKBTA;user=dbatak;password=1;instance=BrunoAquino-NB"/> </properties> </persistence-unit> </persistence>

Segue a classe Dao completa:


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package conexao;

/**
 *
 * @author Administrador
 */


import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import util.Util;

public class Dao {

  private static EntityManagerFactory emf = null;
    private static EntityManager em = null;
    private static HashMap propConexao = null;

    private static EntityManager getEm(){
        if(em == null){
            try{
                propConexao = new HashMap();
                propConexao.put("hibernate.connection.driver_class","com.microsoft.sqlserver.jdbc.SQLServerDriver");
               // propConexao.put("hibernate.connection.url","jdbc:sqlserver://;databaseName=SATKBTA");
                propConexao.put("hibernate.connection.url","jdbc:jtds:sqlserver://192.168.1.1:1433/SATKBTA;user=dbatak;password=1;instance=BrunoAquino-NB");
                propConexao.put("hibernate.connection.username", "dbatak");
                propConexao.put("hibernate.connection.password", "1");
            emf = Persistence.createEntityManagerFactory("FrigoManagerPU");

            // Instancia um objeto EntityManager
            em = emf.createEntityManager();
            }catch (Exception e){
                System.out.println(e.getMessage());
            }
        }
        return em;
    }
    // abrindo uma conexão
    public static void conectar(){
        getEm();
    }
    //método ultilizado para iniciar uma transação
    public static void startTransaction(){
        getEm().getTransaction().begin();
    }
    //método utilizado para confirmar uma transação aberta
    //gravando assim definitivamente os registros no banco de dados
    public static void commitTransaction(){
        getEm().getTransaction().commit();
    }
    //método utilizado para desfazer os comandos realizados desde quando
    // a transação foi aberta
    public static void rollbackTransaction(){
        getEm().getTransaction().rollback();
    }
    //método persiste (grava) um objeto no banco de dados
    //é necessario a utilização de transação
    public static void persist(Object obj){
        try{
            startTransaction();
            getEm().persist(obj);
            commitTransaction();
        }catch (Exception e){
            System.out.println(e.getMessage());
            rollbackTransaction();
        }
    }
    //métodos busca no banco de dados um objeto com a chave primária conforme
    //passada por parêmetro

    public static Object find(Class classe, Object pk){
        try{
            return getEm().find(classe, pk);
        }catch (Exception e){
            System.out.println(e.getMessage());
        }
        return null;
    }
    //método remove um objeto no banco de dados
    public static void remove(Object obj){
        try{
            startTransaction();
            getEm().remove(obj);
            commitTransaction();
        }catch (Exception e){
            Util.mensagem("Atenção! Registro pode ser excluido!");
            System.out.println(e.getMessage());
            rollbackTransaction();
        }
    }
    //método que executa um select passando como parâmetro
    public static List select (String sql){
        Query query = getEm().createQuery(sql);
        return query.getResultList();
    }
    public static EntityManager getEntityManager(){
        return getEm();
    }

    public static HashMap getPropriedadeConexao() {
      return propConexao;
   }
}

Usei o usuário dbatak, pois é esse o que eu uso para logar no SqlServer2008