Procedure: Aan de slag met Microsoft JDBC

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 313100 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

In dit artikel wordt beschreven hoe u een verbinding tot stand kunt brengen met SQL Server 2000 door gebruik te maken van het Microsoft SQL Server 2000-stuurprogramma voor JDBC.


Opmerking De installatie-instructies voor het Microsoft SQL Server 2000-stuurprogramma voor JDBC zijn te vinden in de Microsoft SQL Server 2000 Driver for JDBC Installation Guide.

Nadat u het Microsoft SQL Server 2000-stuurprogramma voor JDBC hebt geïnstalleerd, kunt u op twee manieren vanuit uw programma verbinding maken met uw database: met een verbindings-URL of met een JNDI-gegevensbron. In dit artikel wordt beschreven hoe u de databaseverbinding kunt configureren en testen met een verbindings-URL.

Een van de manieren om verbinding te maken met een database is via JDBC Driver Manager met de methode getConnection uit de klasse DriverManager. De meest eenvoudige manier om deze methode te gebruiken is via een tekenreeksparameter die een URL, een gebruikersnaam en een wachtwoord bevat. In de volgende secties van dit artikel wordt beschreven hoe u het Microsoft SQL Server 2000-stuurprogramma voor JDBC kunt laden vanuit uw JDBC-programma.

De CLASSPATH-variabele instellen

De JAR-bestanden van het Microsoft SQL Server 2000-stuurprogramma voor JDBC moeten worden aangegeven in uw CLASSPATH-variabele. De CLASSPATH-variabele is de zoekreeks die in JVM (Java Virtual Machine) wordt gebruikt om de JDBC-stuurprogramma's op de computer te zoeken. Als de stuurprogramma's niet worden aangegeven in de CLASSPATH-variabele, wordt het volgende foutbericht weergegeven wanneer u probeert het stuurprogramma te laden:
java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
Stel de CLASSPATH-variabele van uw systeem zodanig in dat deze de volgende vermeldingen bevat:
  • \Uw installatiepad\Lib\Msbase.jar
  • \Uw installatiepad\Lib\Msutil.jar
  • \Uw installatiepad\Lib\Mssqlserver.jar
Dit is een voorbeeld van een geconfigureerde CLASSPATH-variabele:
CLASSPATH=.;c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar

Het stuurprogramma registreren

Door het stuurprogramma te registreren geeft u JDBC Driver Manager instructies over het te laden stuurprogramma. Als u een stuurprogramma laadt met de functie class.forName, moet u de naam van het stuurprogramma opgeven. Dit is de stuurprogrammanaam voor het Microsoft SQL Server 2000-stuurprogramma voor JDBC:
com.microsoft.jdbc.sqlserver.SQLServerDriver
De volgende voorbeeldcode geeft aan hoe u het stuurprogramma kunt registreren:
Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
				

De verbindings-URL doorgeven

U moet de informatie over uw databaseverbinding doorgeven in de vorm van een verbindings-URL. Dit is een sjabloon-URL voor het Microsoft SQL Server 2000-stuurprogramma voor JDBC. Vervang de waarden door die voor uw database:
jdbc:microsoft:sqlserver://servernaam:1433
De volgende voorbeeldcode geeft aan hoe u een verbindings-URL kunt opgeven:
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "gebruikersnaam", "wachtwoord");
				
De waarde voor de servernaam kan een IP-adres of een hostnaam zijn (ervan uitgaande dat uw netwerk hostnamen herleidt naar IP-adressen). U kunt dit testen door de hostnaam te pingen en te controleren of u een reactie krijgt met het juiste IP-adres.

De numerieke waarde na de servernaam is het nummer van de poort waarop de database luistert. De waarden die eerder in dit artikel werden vermeld, zijn voorbeelden van standaardwaarden. Zorg ervoor dat u het poortnummer vervangt door het poortnummer waarvan uw database gebruikmaakt.

Voor een volledige lijst met parameters voor de verbindings-URL raadpleegt u de HTML Help bij het Microsoft SQL Server 2000-stuurprogramma voor JDBC of de online handleiding. Zie de sectie 'Connection String Properties'.

Voorbeeldcode voor het testen van de verbinding

Met de volgende voorbeeldcode wordt geprobeerd verbinding te maken met de database en worden de databasenaam, versie en beschikbare catalogi weergegeven. Vervang de servereigenschappen door de waarden voor uw 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 = "gebruiker";
     private final String password = "wachtwoord";
     // Hiermee krijgt het stuurprogramma de instructie om een 'server a side'-cursor te gebruiken, 
     // waardoor meer dan één actieve instructie 
     // op een verbinding mogelijk wordt.
     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("Verbinding tot stand gebracht!");
          }catch(Exception e){
               e.printStackTrace();
               System.out.println("Fouttracering in getConnection() : " + e.getMessage());
         }
          return con;
      }

     /*
          De eigenschappen van het stuurprogramma, databasedetails weergeven 
     */ 

     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("Informatie over stuurprogramma");
                    System.out.println("\tNaam stuurprogramma: "+ dm.getDriverName());
                    System.out.println("\tVersie stuurprogramma: "+ dm.getDriverVersion ());
                    System.out.println("\nInformatie over database ");
                    System.out.println("\tNaam database: "+ dm.getDatabaseProductName());
                    System.out.println("\tVersie database: "+ dm.getDatabaseProductVersion());
                    System.out.println("Beschikbare catalogi ");
                    rs = dm.getCatalogs();
                    while(rs.next()){
                         System.out.println("\tcatalogus: "+ rs.getString(1));
                    } 
                    rs.close();
                    rs = null;
                    closeConnection();
               }else System.out.println("Fout: Geen actieve verbinding");
          }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();
       }
}

				
Als deze code met succes wordt uitgevoerd, ziet de uitvoer er ongeveer als volgt uit:
Verbinding tot stand gebracht!
Informatie over stuurprogramma
        Naam stuurprogramma: SQLServer
        Versie stuurprogramma: 2.2.0022

Informatie over database
        Naam database: Microsoft SQL Server
        Versie database: Microsoft SQL Server  2000 - 8.00.384 (Intel X86)
        23 mei 2001 00:02:52
        Copyright (c) 1988-2000 Microsoft Corporation
        Desktop-engine op Windows NT 5.1 (Build 2600: )

Beschikbare catalogi
        catalogus: master
        catalogus: msdb
        catalogus: pubs
        catalogus: tempdb
					

Basisproblemen met de verbinding oplossen

Hier volgen enkele veel voorkomende foutberichten die kunnen worden weergegeven wanneer u probeert verbinding te maken met uw SQL-server:
java.sql.SQLException: [Microsoft][SQLServer 2000-stuurprogramma voor JDBC][SQLServer]Aanmelding mislukt voor gebruiker 'gebruiker'. Reden: niet gekoppeld met een vertrouwde SQL Server-verbinding.
Dit foutbericht wordt weergegeven als de SQL Server 2000-verificatiemodus is ingesteld op de Windows-verificatiemodus. Het Microsoft SQL Server 2000-stuurprogramma voor JDBC biedt geen ondersteuning voor het gebruik van Windows NT-verificatie. U moet de verificatiemodus van uw SQL Server instellen op de modus Mixed, waardoor zowel Windows-verificatie als SQL Server-verificatie mogelijk wordt.
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]This version of the JDBC driver only supports Microsoft SQL Server 2000. You can either upgrade to SQL Server 2000 or possibly locate another version of the driver. ([Microsoft][SQLServer 2000-stuurprogramma voor JDBC]Deze versie van het JDBC-stuurprogramma biedt alleen ondersteuning voor Microsoft SQL Server 2000. U kunt een upgrade uitvoeren naar SQL Server 2000 of u kunt een andere versie van het stuurprogramma zoeken.)
Dit foutbericht wordt weergegeven wanneer u probeert verbinding te maken met een eerdere versie van SQL Server dan SQL Server 2000. Het Microsoft SQL Server 2000-stuurprogramma voor JDBC ondersteunt alleen een verbinding met SQL Server 2000.

Eigenschappen

Artikel ID: 313100 - Laatste beoordeling: dinsdag 17 mei 2011 - Wijziging: 4.0
De informatie in dit artikel is van toepassing op:
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Standard Edition
Trefwoorden: 
kbsqlmanagementtools kbhowtomaster KB313100

Geef ons feedback

 

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