Java e SQLServer

13 respostas
C

Estou tentando fazer uma conexao com o SQLServer, mas sempre na linha
con = DriverManager.getConnection(connectionUrl);
Dá erro e nao consigo executar o Select.
Eu apenas adicionei a biblioteca do SQLServer e nao registrei! Nao sei se isso é necessario!
Agradeço desde já! Obrigado!

String connectionUrl = "jdbc:odbc:sqlserver:LocalHost;"+"databaseName=Agenda;user=sa;password=sa";

	// Declare the JDBC objects.
	Connection con = null;
	Statement stmt = null;
	ResultSet rs = null;
	
    	try {
    	
    		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        		con = DriverManager.getConnection(connectionUrl);
        
        		// Create and execute an SQL statement that returns some data.
        		String SQL = "SELECT * FROM agenda";
        		stmt = con.createStatement();
        		rs = stmt.executeQuery(SQL);
        
        		while (rs.next()) {
        			System.out.println(rs.getString("nome") + " " + rs.getString("telefone"));
        		}
    	}
    
	// Handle any errors that may have occurred.
	catch (Exception e) {
		e.printStackTrace();
	}

13 Respostas

J

Coloque a mensagem de erro para facilitar…

C

Pelo que eu andei olhando, parece que é a falta de registrar o Driver JDBC e o Classpath! Porém, nao tenho a minima ideia de como conseguir ambos!
:sad:

J

Cara, olhando meio por cima parece que sua URL esta errada:

String connectionUrl = "jdbc:odbc:sqlserver:LocalHost;"+"databaseName=Agenda;user=sa;password=sa";

O certo seria:

String connectionUrl = "jdbc:odbc:sqlserver://localhost;"+"databaseName=Agenda;user=sa;password=sa";

*estavam faltando as duas barras após “sqlserver:”

Lembre-se também de acicionar a biblioteca do sqlserver ao seu projeto, via IDE, classpath ou arquivo MANIFEST.

Tente isso. Talvez funcione.

P

ou assim:

conexao = DriverManager.getConnection(“jdbc:odbc:sqlserver://”+servidor+"/"+nomeBanco, usuario, senha);

Abs.

C

Valeu pessoal!
Vou tentar aki e aviso a voces!
Obrigado!

C

sempre quando chega na linha con = DriverManager.getConnection(connectionUrl); aparece o erro abaixo!
Tem alguma coisa haver com a porta que estou acessando ou o usuario?! Eu acho estranho pois estou usando o sa.

com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) [/code]

J

Descrobre ai em qual porta o servidor esta rodando. Pode ser que seja outra que não a padrão. Ai você coloca apos localhost, :<numerodaporta>

C

Agora na hora de dar o getconnection aparece outro erro!
Tentei usar com a porta 80, 8080 e nao deu em nada! Eu instalei o servidor e nao alterei em nada! Acredito que a porta usada seja a padrao.

A minha URL: “jdbc:sqlserver://localhost:80;” +
“databaseName=master;user=sa;password=sa”

com.microsoft.sqlserver.jdbc.SQLServerException&#58; An I/O error occurred while receiving the TDS prelogin response.
        at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError&#40;Unknown Source&#41;
        at com.microsoft.sqlserver.jdbc.DBComms.Prelogin&#40;Unknown Source&#41;
        at com.microsoft.sqlserver.jdbc.DBComms.&lt;init&gt;&#40;Unknown Source&#41;
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper&#40;Unknown Source&#41;
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover&#40;Unknown Source&#41;
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect&#40;Unknown Source&#41;
        at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect&#40;Unknown Source&#41;
J

Porta 80 para BD, não rola. ela é HTTP… Se o erro mudou, já é um bom sinal. hehehe

C

hehe!
é bom q dá mais animo qndo troca de erro! :roll:

T

voce ja tentou instalar o driver JDBC na maquina onde esta o servidor SQL ??

aqui vai o link para baixar: http://www.microsoft.com/downloads/details.aspx?familyid=86212D54-8488-481D-B46B-AF29BB18E1E5&displaylang=en

:grin:

M

olá

alguêm sabe como usar campo tipo TEXT do sql server, com getString não dá certo.???

obrigado

A

Pessoal,

Eu estou tendo o mesmo problema relatado anteriormente. Estou testando esse JDBC novo da Microsoft, mas o fato é que não consegui rodá-lo ainda.

A mensagem de erro é:

com.microsoft.sqlserver.jdbc.SQLServerException&#58; The TCP/IP connection to the host  has failed. java.net.ConnectException&#58; Connection refused&#58;....

O código é bem simples e o erro aparece na linha do getConnection:

try &#123;
            Class.forName&#40;"com.microsoft.sqlserver.jdbc.SQLServerDriver"&#41;;
            System.out.println&#40;"-&gt; carregou o driver"&#41;;
            Connection conexao = DriverManager.getConnection&#40;"jdbc&#58;sqlserver&#58;//localhost&#58;1433;databaseName=CCJ_SIS;user=sa;password=1306"&#41;;
        &#125; catch &#40;ClassNotFoundException ex&#41; &#123;
            ex.printStackTrace&#40;&#41;;
        &#125; catch &#40;SQLException ex&#41; &#123;
            ex.printStackTrace&#40;&#41;;
        &#125;

Estou utilizando netBeans 5.5 e adicionei o sqljdbc normalmente como qualquer outro driver jdbc.

O SQL SERVER 2000 está local e aceita requições feitas por drivers de conexão de outras linguagens.

Estou utilizando windows XP

Não consigo encontrar nem mesmo na internet alguém que tenha conseguido solucionar esse problema.

Obrigado.

Criado 11 de março de 2007
Ultima resposta 27 de abr. de 2007
Respostas 13
Participantes 6