Dúvida Sql Server 2008 X Java - não conecta. [Resolvido]

14 respostas
F

Pessoal, para conectar o java ao SQL Server fora a parte do netBeans, precisa configurar alguma outra coisa no Sql Server ou no computador ?
Pq o meu está dando erro na conexão, erro de servidor e porta, o servidor coloca localhost mesmo é?

com.microsoft.sqlserver.jdbc.SQLServerException: Falha na conexão TCP/IP com o host localhost, porta 1433.

14 Respostas

Anime

Oi,

Não estou entendendo essa dificuldade sua com o SQL Server. Seu projeto é Web ou Desktop?
Sua conexão é JDBC, se for criou o driver…

F

Eu criei a classe de conexão.
A porta está correta.
Mas fica dando esse erro ai de cima.
Já coloquei o arquivo .jar do driver de conexão.
Uma vez eu consegui conectar o Mysql, mas com o sql server nao funciona, não sei se estou esquecendo de algo.

public void conectar() {

        try {

            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String connectionUrl = "jdbc:sqlserver://localhost:1433;"
                    + "databaseName=teste;user=sa;password=123;";
            try {

                Connection con = DriverManager.getConnection(connectionUrl);

                // executar uma query
                Statement st = (Statement) con.createStatement();



            } catch (SQLException e) {
                // TODO Auto-generated catch block
                System.out.println("11111");
                e.printStackTrace();
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println("22222");
            e.printStackTrace();
        }
rmendes08

felipevs:
Pessoal, para conectar o java ao SQL Server fora a parte do netBeans, precisa configurar alguma outra coisa no Sql Server ou no computador ?
Pq o meu está dando erro na conexão, erro de servidor e porta, o servidor coloca localhost mesmo é?

com.microsoft.sqlserver.jdbc.SQLServerException: Falha na conexão TCP/IP com o host localhost, porta 1433.

Você coloca localhost somente se o banco de dados estiver na mesma máquina da aplicação. Senão você coloca o IP do banco de dados. Pra saber o erro ao certo, nada melhor que a stack trace, reproduz o erro e posta ela que fica fácil de saber o que tá acontecendo.

pedruhenrik

tb é necessário habilitar alguns itens no sql server, tipo para ele ser reconhecido.

no guj tem posts sobre isso tb.

att,

A

Acredito que na instalação padrão do Sql Server, conexões por tcp/ip são desabilitadas.

Ele só aceita conexões via Shared Memory.

Tem que habilitar isso no servidor.

F

O Banco é Local mesmo.

com.microsoft.sqlserver.jdbc.SQLServerException: Falha na conexão TCP/IP com o host localhost, porta 1433. Erro: Connection refused: connect. Verifique as propriedades da conexão, se uma instância do SQL Server está sendo executada no host e se está aceitando conexões TCP/IP na porta, e verifique se nenhum firewall está bloqueando as conexões TCP na porta..

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1033)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)

at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)

at java.sql.DriverManager.getConnection(DriverManager.java:582)

at java.sql.DriverManager.getConnection(DriverManager.java:207)

at teste_banco.Conexao_Banco.conectar(Conexao_Banco.java:30)

at teste_banco.Main.main(Main.java:20)
F

Acho que tem que fazer alguma configuração no sql server configuration manager ne nao ?

discorpio

rmendes08:
felipevs:
Pessoal, para conectar o java ao SQL Server fora a parte do netBeans, precisa configurar alguma outra coisa no Sql Server ou no computador ?
Pq o meu está dando erro na conexão, erro de servidor e porta, o servidor coloca localhost mesmo é?

com.microsoft.sqlserver.jdbc.SQLServerException: Falha na conexão TCP/IP com o host localhost, porta 1433.

Você coloca localhost somente se o banco de dados estiver na mesma máquina da aplicação. Senão você coloca o IP do banco de dados. Pra saber o erro ao certo, nada melhor que a stack trace, reproduz o erro e posta ela que fica fácil de saber o que tá acontecendo.

Boa noite a todos.

RMendes08, essa sua informação está correta, se a aplicação for Desktop, contudo, se for Web, o host tem que ser localhost mesmo, isto porque toda a regra de negócio, inclusive a conexão com o banco é executada no próprio servidor, e quem se encarrega de gerenciar o link com esta conexão, são os gerenciadores de banco de dados tais como (IIS (Internet Information Service da Microsoft), o JBoss, O GlassFish, e aquele que eu mais utilizo, o Apache Tomcat.

Voltando ao foco do post, o que deve estar barrando a conexão com o banco, é uma coisa chamada Firewall do Windows, voce está conectando uma porta (1433), então crie uma exceção dentro do Firewall do Windows para esta porta com o nome de “SQL Server”, habilitando-a a passagem de conexão.

É claro que estou apenas dando um tiro no problema (Trouble Shooting), porém há outras possibilidades como configuração de conexão TCP/IP dentro do banco.

F

O Firewall está desativado, eu instalei por esse tutorial veja se está correto.

http://www.aix.com.br/wiki/index.php?title=Instalação_do_SQL_Server_2008_-_Servidor

F

mais ninguém ?

Anime

Oi,

Já indiquei esse link pra vc em outro tópico… :roll:

http://www.guj.com.br/java/228640-resolvido-conexao-jdbc-sql-server-2008

Habilitando a conexão remota no SQL Server 2008

http://sqlfromhell.wordpress.com/2010/04/18/habilitando-o-acesso-remoto-no-sql-server-2008/

rmendes08

discorpio:
rmendes08:
felipevs:
Pessoal, para conectar o java ao SQL Server fora a parte do netBeans, precisa configurar alguma outra coisa no Sql Server ou no computador ?
Pq o meu está dando erro na conexão, erro de servidor e porta, o servidor coloca localhost mesmo é?

com.microsoft.sqlserver.jdbc.SQLServerException: Falha na conexão TCP/IP com o host localhost, porta 1433.

Você coloca localhost somente se o banco de dados estiver na mesma máquina da aplicação. Senão você coloca o IP do banco de dados. Pra saber o erro ao certo, nada melhor que a stack trace, reproduz o erro e posta ela que fica fácil de saber o que tá acontecendo.

Boa noite a todos.

RMendes08, essa sua informação está correta, se a aplicação for Desktop, contudo, se for Web, o host tem que ser localhost mesmo, isto porque toda a regra de negócio, inclusive a conexão com o banco é executada no próprio servidor, e quem se encarrega de gerenciar o link com esta conexão, são os gerenciadores de banco de dados tais como (IIS (Internet Information Service da Microsoft), o JBoss, O GlassFish, e aquele que eu mais utilizo, o Apache Tomcat.

Voltando ao foco do post, o que deve estar barrando a conexão com o banco, é uma coisa chamada Firewall do Windows, voce está conectando uma porta (1433), então crie uma exceção dentro do Firewall do Windows para esta porta com o nome de “SQL Server”, habilitando-a a passagem de conexão.

É claro que estou apenas dando um tiro no problema (Trouble Shooting), porém há outras possibilidades como configuração de conexão TCP/IP dentro do banco.

Nem sempre. O banco de dados pode ser colocado em uma máquina separada do servidor de aplicação. Isso é muito comum em ambientes em que existem mais de um tipo de aplicação acessando o banco de dados. Além do mais, quando fala-se em aplicação Web geralmente nos referimos à aplicação no servidor. E por fim, IIS e Tomcat não são gerenciadores de banco de dados, são containeres Web, e JBoss e Glassfis são conteineres JEE, o que eles fazem, entre outras coisas é gerenciar conexões de banco de dados, o que é bem diferente de gerenciar banco de dados.

F

[b]Funcionou com o link que você me passou =)
Eu tinha tentado isso antes, mas acho que não tinha reiniciado o servidor.

Fui em Sql Server Configuration Manager, SQL Server NEtWork Configuration, depois fui em TCP/IP ATIVEI/ENABLED, depois fui em IPALL e mudei a porta dinâmica para 1433 / reiniciei o server e pronto =)

em ip2 e ip4 eu tbm coloquei o ip da minha máquina

Valeu Rapaziada.
[/b]

O

Cara foi tiro e queda essa de mudar os IPs 02 e 04 eu tava tendo um trabalhão danado aqui e quando alterei foi numa boa.
Sendo que no meu caso em IPALL eu alterei a PORTA TCP para 1433 e não PORTAS DINAMICAS.

Criado 2 de julho de 2011
Ultima resposta 13 de mar. de 2015
Respostas 14
Participantes 7