Conexao com banco de dados sqlserver

6 respostas
J

bom dia amigos...

fiz um aplicativo
que faz uma conexao com um banco sqlserver...

// com esta conexao eu nao consigo... da uma falha de conexao tcpip

                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();

                con1 = DriverManager.getConnection("MDADOS",
                        "ADMINISTRADOR","123");

                // so consigo accessar utilizando uma fonte de dados a qual chamei de MDADOS
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
                con1 = DriverManager.getConnection(
                        "jdbc:odbc:MDADOS", "ADMINISTRADOR", "123");

fiquei analisando o seguinte:
os parametros da fonde dados odbc sao os mesmos do sqlserverdriver
entao deve ter alguma coisa bloqueando no servidor...
porque o servidor tem realmente firewall, etc...

que tipo de bloqueio existe no servidor que libera a fonte de dados odbc e nao libera o sqlserverdriver...

o erro e de falha na conexao tcpip

6 Respostas

D

acredito que sua string de conexão esta errada

deveria ser algo como

con1 = DriverManager.getConnection("jdbc:microsoft:sqlserver:MDADOS:[porta]",  
        "[usuario]","[senha]");
D

da uma olhada nesse

e nesse site
http://support.microsoft.com/kb/313100/pt-br

D

da uma olhada

http://support.microsoft.com/kb/313100/pt-br

desculpa acabei mandando novamente

R

Esse driver da Microsoft é meio bugado,melhor usar o jtds

E

Cara, eu costumo usar dessa forma:

Connection conexao; ip=xxx.xxx.xxx.xxx:pppp;databaseName=Nomebanco url = "jdbc:sqlserver://"+ip; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conexao=DriverManager.getConnection(url, login, senha );

Se o ODBC está concectando, você vai conseguir usando o JDBC pois os dois vão conectar pela mesma porta.

C

Isso resolve seu problema

Fonte: [url]http://javaaberto.blogspot.com.br/2012/08/conectando-sql-server-em-java.html[/url]

import java.sql.Connection;  
 
public class ConDb{  
     private java.sql.Connection  con = null;  
     private final String url = "jdbc:microsoft:sqlserver://";  
     private final String serverName= "localhost";  
     private final String portNumber = "1433";  
     private final String databaseName= "dataBase";  
     private final String userName = "sa";  
     private final String password = "senha";
 
     // Informs the driver to use server a side-cursor,  
     // which permits more than one active statement  
     // on a Connection.  
     private final String selectMethod = "cursor";  
       
     // Constructor  
     public ConDb(){}  
       
     private String getConnectionUrl(){  
          return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";  
     }  
     public Connection getConnection(){  
          try{  
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  
               con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);  
          }catch(Exception e){  
               e.printStackTrace();  
               System.out.println("Error Trace in getConnection() : " + e.getMessage());  
         }  
          return con;  
      }  
 
     /*
          Display the driver properties, database details  
     */  
 
     public void displayDbProperties(){  
          java.sql.DatabaseMetaData dm = null;  
          java.sql.ResultSet rs = null;  
          try{  
               con= this.getConnection();  
               if(con!=null){  
                    dm = con.getMetaData();  
                    System.out.println("Driver Information");  
                    System.out.println("\tDriver Name: "+ dm.getDriverName());  
                    System.out.println("\tDriver Version: "+ dm.getDriverVersion ());  
                    System.out.println("\nDatabase Information ");  
                    System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());  
                    System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());  
                    System.out.println("Avalilable Catalogs ");  
                    rs = dm.getCatalogs();  
                    while(rs.next()){  
                         System.out.println("\tcatalog: "+ rs.getString(1));  
                    }  
                    rs.close();  
                    rs = null;  
                    closeConnection();  
               }else System.out.println("Error: No active Connection");  
          }catch(Exception e){  
               e.printStackTrace();  
          }  
          dm=null;  
     }      
       
     private void closeConnection(){  
          try{  
               if(con!=null)  
                    con.close();  
               con=null;  
          }catch(Exception e){  
               e.printStackTrace();  
          }  
     }  
 
}
Criado 28 de fevereiro de 2013
Ultima resposta 28 de fev. de 2013
Respostas 6
Participantes 5