Ja tentei de tudo, não consigo fazer conexão do Java com SqlServer (local). O mesmo programa funciona bem com Mysql, mais quando altero o hibernate.properties para conectar com o SQL, nem conexão eu consigo. Alguem pode me dar uma ajuda???
Ambiente
Banco: Sql Server 2005 Express (local)
IDE: Eclipse 3.2.0
Persistencia: Hibernate 3
Criei minhas classes e apartir delas gera o banco atraves
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class CriaTabela {
public static void main(String[] args) {
try {
// Cria uma configuração para a classe Produto
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Cedente.class);
cfg.addAnnotatedClass(Cluster.class);
new SchemaExport(cfg).create(true, true);
} catch (Exception e) {
System.out.print(e.getMessage());
}
}
}
Configurei o hibernate.properties para o Mysql
hibernate.dialect org.hibernate.dialect.MySQLDialect
#hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
#hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
#hibernate.connection.driver_class com.mysql.jdbc.Driver
#hibernate.connection.url jdbc:mysql://localhost:3306/banco
#hibernate.connection.username root
#hibernate.connection.password senha
Legal, funcionou sem problemas. Mais ao tentar gerar as mesmas tabelas no Sql Server 2005 Express, não consegui. Segue o hibernate.properties para o SQLSERVER
hibernate.dialect org.hibernate.dialect.SQLServerDialect
hibernate.connection.driver_class com.microsoft.sqlserver.jdbc.SQLServerDriver
hibernate.connection.url dbc:sqlserver://pentium4;user=sa;password=senha
Ao executar o codigo para gerar as tabelas não da erro mais tambem não gera nada. Lendo varias dicas pela internet, tentei localizar a porta 1433 com o comando netstat, a porta não aparece já tentei colocar todas as portas que aparecem no netstat e nehuma funcionou.
Resolvi começar tudo do zero tentando conectar conforme abaixo
import java.sql.*;
public class ConDBSQL {
public static void main(String args[]) {
// Criando as variáveis de conexão e de statement
Connection con;
Statement stmt;
String query = "select name , id from sysobjects";
// Verificando se o driver JDBC está instalado e pode ser utilizado
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(java.lang.ClassNotFoundException e)
{
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try
{
con = DriverManager.getConnection("jdbc:sqlserver://pentium4;user=sa;password=senha");
stmt = con.createStatement();
// Criando a instrução a partir do SELECT que está dentro da variável query
ResultSet rs = stmt.executeQuery(query);
System.out.println("Lista de linhas da tabela sysobjects:");
// Fazendo um loop para mostrar tudo o que foi retornado do banco
while (rs.next())
{
// Obtendo o campo name em um string
String s = rs.getString("name");
// Obtendo o campo id em um inteiro
int i = rs.getInt("id");
System.out.println(s + " " + i);
}
//Fechamdno a instrução e a conexão
stmt.close();
con.close();
}
catch(SQLException ex)
{
System.err.println("SQLException: " + ex.getMessage());
}
}
}
Debugando o programa, a classe (jdbc) é encontrada sem problemas, mais ao tentar conectar recebo o seguinte erro:
SQLException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect
Tentei colocar portas :1433…
databasename=db1
Não consegui me conectar.
Obrigado pela ajuda.