Como conectar no sql server?

3 respostas
mateusviccari

Boa noite, acabei de instalar o visual studio 2010 que tambem instalou junto o sql server express… ja criei um banco em um arquivo .mdf e criei umas tabelas…
Adicionei o driver do jTDS pois falaram que é melhor que o da microsoft.
agora fui tentar conectar pelo java e da o seguinte erro:

Não sei se preciso fazer alguma coisa pra liberar o acesso, ou se precisa liberar o usuario sa, algo assim. Alguem tem uma idéia?
Segue minha classe de conexão:

private static final String DRIVER = "net.sourceforge.jtds.jdbc.Driver";  
    
    public static void main(String[] args) throws Exception {
        Class.forName(DRIVER);  
        System.out.println("Conectando a Banco de Dados...");  
        DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433;DatabaseName=BiblioteK", "sa", "");
    }

Estava olhando aqui, como é que eu referencio o caminho do arquivo mdf nessa string de conexão?

3 Respostas

jeffev

Talvez esse post lhe ajude.

http://www.guj.com.br/java/73347-sql-express-2005-e-java-e-jtds

mateusviccari

Ja tinha visto esse topico mas tentei fazer o que foi dito e continua dando o erro…
La no visual studio ele cria uma “connection string” pra fazer a conexao no banco, que fica dessa forma:

Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Users\Administrador\Documents\Visual Studio 2010\WebSites\BiblioteK\App_Data\Database.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True

Sera q tenho que por isso na url do jdbc?

jeffev

A minha classe de conexão fica assim:

package util;

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 agosto de 2012
Ultima resposta 28 de ago. de 2012
Respostas 3
Participantes 2