HOW TO: Iniziare con JDBC di Microsoft

Traduzione articoli Traduzione articoli
Identificativo articolo: 313100 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto come connettersi a SQL Server 2000 tramite il driver di Microsoft SQL Server 2000 per JDBC.


Nota : per istruzioni sull'installazione di Microsoft SQL Server 2000 driver per JDBC, vedere il SQL Server 2000 driver per JDBC Guida di installazione .

Dopo aver installato il driver Microsoft SQL Server 2000 per JDBC, Ŕ possibile connettersi dal programma a database in due modi: con un URL di connessione o con un'origine dati JNDI. In questo articolo viene descritto come configurare e verificare la connessione al database utilizzando un URL di connessione.

Un modo di connettersi a un database consiste tramite Gestione driver JDBC utilizzando il metodo getConnection della classe DriverManager . Il modo pi¨ semplice utilizzo di questo metodo accetta un parametro di stringa che contiene un URL, un nome utente e una password. Nelle sezioni seguenti di questo articolo viene descritto come caricare il driver Microsoft SQL Server 2000 per JDBC dal programma JDBC.

Per impostare la variabile CLASSPATH

Il driver di Microsoft SQL Server 2000 per JDBC JAR file deve essere elencato nella variabile di CLASSPATH. La variabile CLASSPATH Ŕ la stringa di ricerca che Java Virtual Machine (JVM) utilizza per individuare il driver JDBC nel computer. Se i driver non sono elencati nella variabile di CLASSPATH, Ŕ visualizzato il seguente messaggio di errore quando si tenta di caricare il driver:
Java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
Impostare la variabile CLASSPATH di sistema per includere le seguenti voci:
  • \ \Lib\Msbase.jar Your installation path
  • \ \Lib\Msutil.jar Your installation path
  • \ \Lib\Mssqlserver.jar Your installation path
Questo Ŕ un esempio di una variabile CLASSPATH configurato:
CLASSPATH =.; c:\program comuni\Microsoft SQL Server 2000 driver per JDBC\lib\msbase.jar;c:\program comuni\Microsoft SQL Server 2000 driver per JDBC\lib\msutil.jar;c:\program comuni\Microsoft SQL Server 2000 driver per JDBC\lib\mssqlserver.jar

Per registrare il driver

Il driver di registrazione indica quale driver caricare Gestione driver JDBC. Quando si carica un driver utilizzando la funzione class.forName , Ŕ necessario specificare il nome del driver. Questo Ŕ il nome di driver per SQL Server 2000 driver per JDBC:
com.microsoft.JDBC.SqlServer.SQLServerDriver
Il codice di esempio riportato di seguito viene illustrato come registrare il driver:
Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
				

Per passare l'URL di connessione

╚ necessario passare le informazioni di connessione database sotto forma di un URL di connessione. Questo Ŕ un URL di modello per SQL Server 2000 driver per JDBC. Sostituire i valori per il database:
JDBC:Microsoft:SQLServer: / / servername:1433
Nell'esempio di codice riportato di seguito viene di illustrato come specificare un URL di connessione:
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");
				
i valori del nome di server Ŕ possibile un indirizzo IP o nome di un host (supponendo che la rete risolve i nomi host in indirizzi IP). ╚ possibile verificare questo ping del nome host e verificare che si riceve una risposta con l'indirizzo IP corretto.

Il valore numerico dopo il nome del server Ŕ il numero di porta su cui il database Ŕ in ascolto. I valori che elencati in precedenza in questo articolo sono i valori di esempio predefiniti. Assicurarsi di sostituire il numero di porta che utilizza il database.

Per un elenco completo dei parametri di connessione URL, vedere Microsoft SQL Server 2000 driver per JDBC HTML oppure vedere la Guida in linea . Vedere la sezione "ProprietÓ stringa di connessione".

Codice di esempio per verificare la connessione

Nell'esempio di codice riportato di seguito tenta di connettersi al database e visualizza il nome del database, la versione e i cataloghi disponibili. Sostituire le proprietÓ del server con i valori per il server:
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 questo codice ha esito positivo, l'output Ŕ simile al seguente:
Connection Successful!
Driver Information
        Driver Name: SQLServer
        Driver Version: 2.2.0022

Database Information
        Database Name: Microsoft SQL Server
        Database Version: Microsoft SQL Server  2000 - 8.00.384 (Intel X86)
        May 23 2001 00:02:52
        Copyright (c) 1988-2000 Microsoft Corporation
        Desktop Engine on Windows NT 5.1 (Build 2600: )

Avalilable Catalogs
        catalog: master
        catalog: msdb
        catalog: pubs
        catalog: tempdb
					

Risoluzione dei problemi di base Connectivity

Questi sono comuni messaggi di errore che possono verificarsi quando si tenta di connettersi al server SQL:
Java.SQL.SQLException: [Microsoft] [SQL Server 2000 driver per JDBC] Impossibile eseguire l'accesso [SQLServer] per l'utente "utente". Motivo: Non Ŕ associato a una connessione di SQL Server trusted.
Questo messaggio di errore si verifica se la modalitÓ di autenticazione di SQL Server 2000 Ŕ impostata per la modalitÓ di autenticazione di Windows. Il driver di Microsoft SQL Server 2000 per JDBC non supporta la connessione utilizzando autenticazione di Windows NT. ╚ necessario impostare la modalitÓ di autenticazione di SQL Server alla modalitÓ mista, che consente sia l'autenticazione di Windows e autenticazione di SQL Server.
Java.SQL.SQLException: [Microsoft] [SQL Server 2000 driver per JDBC] questa versione del driver JDBC supporta solo Microsoft SQL Server 2000. ╚ possibile eseguire l'aggiornamento a SQL Server 2000 o eventualmente individuare un'altra versione del driver.
Questo errore si verifica che si tenta di connettersi a una versione di SQL Server precedenti a SQL Server 2000. Il driver di Microsoft SQL Server 2000 per JDBC supporta la connettivitÓ solo con SQL Server 2000.

ProprietÓ

Identificativo articolo: 313100 - Ultima modifica: venerdý 9 gennaio 2004 - Revisione: 3.3
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Driver for JDBC
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Standard Edition
Chiavi:á
kbmt kbhowtomaster KB313100 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 313100
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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