Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

SO WIRD'S GEMACHT: Erste Schritte mit Microsoft JDBC

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
313100 HOW TO: Get Started with Microsoft JDBC
Zusammenfassung
Dieser Artikel beschreibt das Herstellen einer Verbindung zu SQL Server 2000 mithilfe des Microsoft SQL Server 2000-Treibers für JDBC.


Hinweis: Detaillierte Anweisungen finden Sie im Installationshandbuch zum Microsoft SQL Server 2000-Treiber für JDBC (Microsoft SQL Server 2000 Driver for JDBC Installation Guide).

Nachdem Sie den Microsoft SQL Server 2000-Treiber für JDBC installiert haben, können Sie auf zwei verschiedene Arten von Ihrem Programm aus eine Verbindung zu Ihrer Datenbank herstellen: Mit einem Verbindungs-URL oder einer JNDI-Datenquelle. Dieser Artikel beschreibt, wie Sie Ihre Datenbankverbindung mit einem Verbindungs-URL konfigurieren und testen können.

Eine Möglichkeit zum Aufbauen einer Verbindung zu einer Datenbank ist die Verwendung des JDBC-Treibermanagers in Verbindung mit der Methode getConnection der Klasse DriverManager. Der einfachste Weg zur Anwendung dieser Methode besteht in der Verwendung eines Zeichenfolgenparameters, der einen URL, einen Benutzernamen und ein Kennwort enthält. Die folgenden Abschnitte dieses Artikels beschreiben das Laden des Microsoft SQL Server 2000-Treibers für JDBC von Ihrem JDBC-Programm aus.

Zurück zum Anfang

Variable CLASSPATH setzen

Die JAR-Dateien des Microsoft SQL Server 2000-Treibers für JDBC müssen bei Ihnen in der CLASSPATH-Variable aufgelistet sein. Die CLASSPATH-Variable ist die Suchzeichenfolge, mithilfe derer die Java Virtual Machine (JVM) die JDBC-Treiber auf Ihrem Computer ausfindig macht. Falls die Treiber in der CLASSPATH-Variablen nicht aufgelistet sind, wird Ihnen bei dem Versuch, den Treiber zu laden, die folgende Fehlermeldung angezeigt:
java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
Setzen Sie die CLASSPATH-Variable Ihres Systems so, dass sie die folgenden Einträge enthält:
  • \Ihr Installationspfad\Lib\Msbase.jar
  • \Ihr Installationspfad\Lib\Msutil.jar
  • \Ihr Installationspfad\Lib\Mssqlserver.jar
Es folgt ein Besipiel für eine konfigurierte CLASSPATH-Variable:
CLASSPATH=.;c:\Programme\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;c:\Programme\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;c:\Programme\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar
Zurück zum Anfang

Treiber registrieren

Durch die Registrierung des Treibers erhält der JDBC-Treibermanager die Anweisung, welchen Treiber er laden soll. Wenn Sie einen Treiber mithilfe der Funktion class.forName laden, müssen Sie den Namen des Treibers angeben. Der Name des Microsoft SQL Server 2000-Treibers für JDBC lautet:
com.microsoft.jdbc.sqlserver.SQLServerDriver
Der folgende Beispielcode demonstriert, wie Sie den Treiber registrieren können:
Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();				
Zurück zum Anfang

URL der Verbindung übergeben

Sie müssen die Informationen zu Ihrer Datenbankverbindung in Form eines Verbindungs-URL übergeben. Nachstehend sehen Sie eine URL-Vorlage für den Microsoft SQL Server 2000-Treiber für JDBC: Ersetzen Sie die darin enthaltenen Werte durch die entsprechenden Werte für Ihre Datenbank:
jdbc:microsoft:sqlserver://servername:1433
Der folgende Beispielcode demonstriert, wie Sie einen Verbindungs-URL angeben können:
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");				
Bei den Werten für den Servernamen kann es sich um eine IP-Adresse oder einen Hostnamen handeln (unter der Voraussetzung, dass Ihr Netzwerk Hostnamen zu IP-Adressen auflösen kann). Ob dies der Fall ist, können Sie testen, indem Sie den Hostnamen anpingen und überprüfen, ob Sie eine Antwort mit der richtigen IP-Adresse erhalten.

Der numerische Wert nach dem Servernamen bezeichnet den Port, den die Datenbank abhört. Bei den weiter oben in diesem Artikel aufgelisteten Werten handelt es sich um Standardbeispielwerte. Achten Sie darauf, die Nummer des Ports anzugeben, der von Ihrer Datenbank verwendet wird.

Ein vollständige Liste der Verbindungs-URL-Parameter finden Sie in der HTML-Hilfe zum Microsoft SQL Server 2000-Treiber für JDBC oder im Online-Handbuch. Siehe hierzu den Abschnitt "Connection String Properties" (Eigenschaften der Verbindungszeichenfolge).

Zurück zum Anfang

Beispielcode zum Testen der Verbindung

Mit dem folgenden Beispielcode wird versucht, eine Verbindung zu der Datenbank aufzubauen und den Datenbanknamen, die Version der Datenbank und die verfügbaren Kataloge anzeigen zu lassen. Ersetzen Sie die Werte für die Servereigenschaften durch die entsprechenden Werte für Ihren 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();       }}				
Die Ausgabe müsste etwa folgendermaßen aussehen, wenn der Code erfolgreich ausgeführt werden konnte:
Connection Successful!Driver Information        Driver Name: SQLServer        Driver Version: 2.2.0022Database 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					
Zurück zum Anfang

Grundlegende Problembehandlung für Verbindungen

Die folgenden Fehlermeldungen können angezeigt werden, wenn Sie versuchen, eine Verbindung zu Ihrem SQL-Server herzustellen:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer] Fehler bei der Anmeldung für den Benutzer 'Benutzer'. Ursache: Keiner vertrauten SQL Server-Verbindung zugeordnet.
Diese Fehlermeldung wird angezeigt, wenn als SQL Server 2000-Authentifizierungsmodus die Windows-Authentifizierung festgelegt ist. Der Microsoft SQL Server 2000-Treiber für JDBC unterstützt den Aufbau einer Verbindung mithilfe der Windows NT-Authentifizierung nicht. Sie müssen als Authentifizierungsmodus für Ihren SQL-Server den gemischten Modus festlegen, der sowohl die Windows-Authentifizierung als auch die SQL Server-Authentifizierung gestattet.
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]This version of the JDBC driver only supports Microsoft SQL Server 2000 (Diese Version des JDBC-Treibers unterstützt nur Microsoft SQL Server 2000). You can either upgrade to SQL Server 2000 or possibly locate another version of the driver (Sie können entweder auf SQL Server 2000 aktualisieren oder möglicherweise eine andere Version des Treibers finden).
Diese Fehlermeldung wird angezeigt, wenn Sie versuchen, eine Verbindung zu einer SQL Server-Version aufzubauen, die älter ist als SQL Server 2000. Der Microsoft SQL Server 2000-Treiber für JDBC unterstützt nur Verbindungen zu SQL Server 2000.
Zurück zum Anfang
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 313100 – Letzte Überarbeitung: 02/09/2005 17:35:16 – Revision: 3.2

Microsoft SQL Server 2000 Driver for JDBC, Microsoft SQL Server 2000 64-Bit Edition, Microsoft SQL Server 2000 Standard Edition

  • kbhowtomaster KB313100
Feedback
> html>/c1.microsoft.com/c.gif?DI=4050&did=1&t=">html>>=">/body>/html>=">html>