COMO: Introdução ao Microsoft JDBC

Traduções deste artigo Traduções deste artigo
ID do artigo: 313100
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como se conectar ao SQL Server 2000 usando o driver do Microsoft SQL Server 2000 para JDBC.


OBSERVAÇÃO: Para obter instruções sobre a instalação para o driver do Microsoft SQL Server 2000 para JDBC, consulte o Guia de instalação do driver do Microsoft SQL Server 2000 para JDBC.

Após a instalação do driver do Microsoft SQL Server 2000 para JDBC, é possível se conectar a partir do seu programa com o seu banco de dados de duas maneiras: com um URL de conexão ou com uma fonte de dados JNDI. Este artigo descreve como configurar e testar a conexão do seu banco de dados usando um URL de conexão.

Uma maneira de se conectar a um banco de dados é por meio do Gerenciador de driver JDBC usando o método getConnection da classe DriverManager. A maneira mais simples de usar esse método é através de um parâmetro de seqüência que contém um URL, um nome de usuário e uma senha. As seguintes seções deste artigo descrevem como carregar o driver do Microsoft SQL Server 2000 para JDBC a partir do seu programa JDBC.

Para definir a variável CLASSPATH

Os arquivos .jar do driver do Microsoft SQL Server 2000 para JDBC devem ser escutados na sua variável CLASSPATH. A variável CLASSPATH é a seqüência de procura que a máquina virtual Java (JVM) usa para localizar os drivers JDBC no seu computador. Se os drivers não estiverem listados na sua variável CLASSPATH, a seguinte mensagem de erro será exibida ao tentar carregar o driver:
java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
Defina a variável CLASSPATH do seu sistema para incluir as seguintes entradas:
  • \O caminho da sua instalação\Lib\Msbase.jar
  • \O caminho da sua instalação\Lib\Msutil.jar
  • \O caminho da sua instalação\Lib\Mssqlserver.jar
Este é um exemplo de uma variável CLASSPATH configurada:
CLASSPATH=.;c:\Arquivos de programas\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;c:\Arquivos de programas\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;c:\Arquivos de programas\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar

Para registrar o driver

Registrar o driver instrui o Gerenciador de driver JDBC sobre qual driver carregar. Ao carregar um driver usando a função class.forName, é necessário especificar o nome do driver. Este é o nome do driver para o driver do Microsoft SQL Server 2000 para JDBC:
com.microsoft.jdbc.sqlserver.SQLServerDriver
O seguinte exemplo de código demonstra como registrar o driver:
Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
				

Para passar o URL de conexão

É necessário passar suas informações de conexão de banco de dados na forma de um URL de conexão. Este é um modelo de URL para o driver do Microsoft SQL Server 2000 para JDBC: Substitua os valores para o seu banco de dados:
jdbc:microsoft:sqlserver://servername:1433
O seguinte exemplo de código demonstra como especificar um URL de conexão:
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");
				
Os valores do nome do servidor podem ser um endereço IP ou um nome de host (presumindo que sua rede resolve nomes de host para endereços IP). É possível testar isso realizando um ping no nome de host e verificando se recebe uma resposta com o endereço IP correto.

O valor numérico após o nome do servidor é o número da porta na qual o banco de dados está escutando. Os valores listados anteriormente neste artigo são exemplos de valores padrão. Verifique se substituiu o número da porta que seu banco de dados está usando.

Para obter uma lista completa de parâmetros de URL de conexão, consulte a Ajuda em HTML do driver do Microsoft SQL Server 2000 para JDBC, ou consulte o Guia online. Consulte a seção "Propriedades da seqüência de conexão".

Exemplo de código para testar a conexão

O seguinte exemplo de código tenta conectar-se ao banco de dados e exibe o nome, a versão e os catálogos disponíveis do banco de dados. Substitua as propriedades do servidor pelos valores para seu servidor:
import java.*;
public class Connect{
     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= "pubs";
     private final String userName = "user";
     private final String password = "password";
     // 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 Connect(){}
     
     private String getConnectionUrl(){
          return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
     }
     
     private java.sql.Connection getConnection(){
          try{
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
               con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
               if(con!=null) System.out.println("Connection Successful!");
          }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();
          }
     }
     public static void main(String[] args) throws Exception
       {
          Connect myDbTest = new Connect();
          myDbTest.displayDbProperties();
       }
}

				
Se este código tiver êxito, o resultado será semelhante ao seguinte:
A conexão teve êxito!
Informações sobre o driver
        Nome do driver: SQLServer
        Versão do driver: 2.2.0022

Informações sobre o banco de dados
        Nome do banco de dados: Microsoft SQL Server
        Versão do banco de dados: Microsoft SQL Server  2000 - 8.00.384 (Intel X86)
        23 de maio de 2001 00:02:52
        Copyright (c) 1988-2000 Microsoft Corporation
        Desktop Edition no Windows NT 5.1 (Compilação 2600: )

Catálogos disponíveis
        catálogo: mestre
        catálogo: msdb
        catálogo: pubs
        catálogo: tempdb
					

Solução básica de problemas de conectividade

Estas são mensagens de erro comuns que podem ocorrer ao tentar se conectar ao seu servidor SQL:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Logon falhou para usuário "usuário". Motivo: Não está associado a uma conexão SQL Server confiável.
Essa mensagem de erro ocorre se o modo de autenticação SQL Server 2000 for definido como modo de autenticação do Windows. O driver do Microsoft SQL Server 2000 para JDBC não suporta a conexão usando autenticação do Windows NT. É necessário definir o modo de autenticação do seu SQL Server para modo misto, que permite as autenticações do Windows e do SQL Server.
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Esta versão do driver JDBC suporta apenas Microsoft SQL Server 2000. Você pode atualizar para SQL Server 2000 ou localizar outra versão do driver.
Essa mensagem de erro ocorre ao tentar se conectar a uma versão do SQL Server anterior à SQL Server 2000. O driver do Microsoft SQL Server 2000 para JDBC suporta a conectividade apenas com SQL Server 2000.

Propriedades

ID do artigo: 313100 - Última revisão: terça-feira, 15 de fevereiro de 2011 - Revisão: 3.3
Palavras-chave: 
kbsqlmanagementtools kbhowtomaster KB313100

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com