DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 313100 - Ultima modifica: domenica 15 marzo 2015 - Revisione: 4.0

 

In questa pagina

Sommario

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


Nota: per le istruzioni di installazione per Microsoft SQL Server 2000 Driver per JDBC, vedere il Microsoft SQL Server 2000 Driver per JDBC Installation Guide.

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

Una delle modalità di connessione a un database è da tramite JDBC Driver Manager utilizzando il metodo getConnection della classe DriverManager . Il modo più semplice di questo metodo accetta un parametro di stringa che contiene un URL, un nome utente e una password. Le seguenti sezioni incluse in questo articolo viene descritto come caricare il driver di Microsoft SQL Server 2000 per JDBC dal programma JDBC.

Per impostare la variabile CLASSPATH

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

Registrare il Driver

Registrazione del driver indica a gestione Driver JDBC driver da caricare. Quando si carica un driver utilizzando la funzione Class. forName , è necessario specificare il nome del driver. Questo è il nome del driver per Microsoft 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 di database sotto forma di un URL di connessione. Si tratta di un URL del modello per Microsoft SQL Server 2000 Driver per JDBC. Sostituire i valori per il database:
JDBC:Microsoft:SQLServer://ServerName:1433
Il codice di esempio riportato di seguito viene illustrato come specificare un URL di connessione:
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");
				
I valori del nome server possono essere un indirizzo IP o un nome host (a condizione che la rete risolve i nomi host in indirizzi IP). È possibile testare questo ping del nome host e verificando che si riceve una risposta con l'indirizzo IP corretto.

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

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

Codice di esempio per verificare la connessione

Il codice di esempio 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 sarà 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 connettività di base

Si tratta di messaggi di errore comuni che possono verificarsi quando si tenta di connettersi a SQL server:
java.sql.SQLException: [Microsoft] [SQL Server 2000 Driver per JDBC] [SQL Server] accesso non riuscito per l'utente "utente". Motivo: Non associato a una connessione SQL Server trusted.
Questo messaggio di errore si verifica se la modalità di autenticazione di SQL Server 2000 viene impostata la modalità di autenticazione di Windows. Il driver Microsoft SQL Server 2000 per JDBC non supporta la connessione utilizzando l'autenticazione di Windows NT. È necessario impostare la modalità di autenticazione di SQL Server in modalità mista, che consente l'autenticazione di Windows e autenticazione di SQL Server.
java.sql.SQLException: [Microsoft] [SQL Server 2000 Driver per JDBC] la 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 messaggio di errore si verifica il che tentativo di connessione a una versione di SQL Server precedenti a SQL Server 2000. Il driver Microsoft SQL Server 2000 per JDBC supporta la connettività solo con SQL Server 2000.

Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Standard Edition
Chiavi: 
kbsqlsetup kbhowtomaster kbmt KB313100 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 313100  (http://support.microsoft.com/kb/313100/en-us/ )
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.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store