ΔΙΑΔΙΚΑΣΙΕΣ: Εκκίνηση με το Microsoft JDBC

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 313100 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο περιγράφει τον τρόπο σύνδεσης με τον SQL Server 2000, χρησιμοποιώντας το πρόγραμμα οδήγησης του Microsoft SQL Server 2000 για JDBC.


ΣΗΜΕΙΩΣΗ: Για οδηγίες εγκατάστασης του προγράμματος οδήγησης του Microsoft SQL Server 2000 για JDBC, ανατρέξτε στο θέμα Πρόγραμμα οδήγησης του Microsoft SQL Server 2000 για τον οδηγό εγκατάσταης JDBC.

Μετά την εγκατάσταση του προγράμματος οδήγησης του Microsoft SQL Server 2000 για τον JDBC, μπορείτε να συνδεθείτε στη βάση δεδομένων από το πρόγραμμά σας με δύο τρόπους: με μια σύνδεση URL ή με μια προέλευση δεδομένων JNDI. Αυτό το άρθρο περιγράφει τον τρόπο ρύθμισης των παραμέτρων και δοκιμής της σύνδεσης βάσης δεδομένων, χρησιμοποιώντας μια σύνδεση URL.

Ένας τρόπος σύνδεσης με μια βάση δεδομένων είναι μέσω του JDBC Driver Manager, χρησιμοποιώντας τη μέθοδο getConnection κλάσης DriverManager. Ο απλούστερος τρόπος χρήσης αυτής της μεθόδου είναι η λήψη μιας παραμέτρου που περιέχει ένα URL, ένα όνομα χρήστη και έναν κωδικό πρόσβασης. Οι ακόλουθες ενότητες αυτού του άρθρου περιγράφουν τον τρόπο φόρτωσης του προγράμματος οδήγησης Microsoft SQL Server 2000 για ένα JDBC από το πρόγραμμα JDBC που χρησιμοποιείτε.

Για να ορίσετε τη μεταβλητή CLASSPATH

Τα αρχεία .jar του προγράμματος οδήγησης του Microsoft SQL Server 2000 για τον JDBC πρέπει να παρατίθενται στη μεταβλητή CLASSPATH. Η μεταβλητή CLASSPATH είναι μια συμβλοσειρά αναζήτησης, την οποία χρησιμοποιεί ο μηχανισμός Java Virtual Machine (JVM) για τον εντοπισμό των προγραμμάτων οδήγησης του JDBC στον υπολογιστή σας. Στην περίπτωση που τα προγράμματα οδήγησης δεν παρατίθενται στη μεταβλητή CLASSPATH, εμφανίζεται το ακόλουθο μήνυμα λάθους κατά την προσπάθειά σας να φορτώσετε το πρόγραμμα οδήγησης:
java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
Ρυθμίστε τη μεταβλητή CLASSPATH του συστήματός σας, έτσι ώστε να περιλαμβάνει τις ακόλουθες καταχωρήσεις:
  • \διαδρομή εγκατάστασης\Lib\Msbase.jar
  • \διαδρομή εγκατάστασης\Lib\Msutil.jar
  • \διαδρομή εγκατάστασης\Lib\Mssqlserver.jar
Αυτό είναι ένα παράδειγμα ρύθμισης μιας μεταβλητής CLASSPATH:
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

Για να δηλώσετε το πρόγραμμα οδήγησης

Η δήλωση του προγράμματος οδήγησης καθοδηγεί το JDBC Driver Manager σχετικά με το πρόγραμμα οδήγησης που πρέπει να φορτώσει. Όταν φορτώνετε ένα πρόγραμμα οδήγησης, χρησιμοποιώντας τη λειτουργία class.forName, πρέπει να καθορίσετε το όνομα του προγράμματος οδήγησης. Αυτό είναι το όνομα προγράμματος οδήγησης για το πρόγραμμα οδήγησης του Microsoft SQL Server 2000 για JDBC:
com.microsoft.jdbc.sqlserver.SQLServerDriver
Το παρακάτω δείγμα κώδικα δείχνει τον τρόπο δήλωσης του προγράμματος οδήγησης:
Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
				

Για να μεταβιβάσετε τη σύνδεση URL

Πρέπει να μεταβιβάσετε τις πληροφορίες σύνδεσης βάσης δεδομένων με τη μορφή μιας σύνδεσης URL. Αυτό είναι ένα πρότυπο όνομα URL για το πρόγραμμα οδήγησης του Microsoft SQL Server 2000 για JDBC. Αντικαταστήστε τις τιμές για τη βάση δεδομένων σας:
jdbc:microsoft:sqlserver://servername:1433
Το ακόλουθο δείγμα κώδικα δείχνει τον τρόπο καθορισμού μιας σύνδεσης URL:
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");
				
Οι τιμές του ονόματος διακομιστή μπορεί να είναι μια διεύθυνση IP ή ένα όνομα κεντρικού υπολογιστή (με την προϋπόθεση ότι το δίκτυό σας επιλύει ονόματα σε διευθύνσεις IP). Αυτό μπορείτε να το ελέγξετε κάνοντας ping στο όνομα κεντρικού υπολογιστή και επαληθεύοντας ότι λαμβάνετε μια απάντηση με τη σωστή διεύθυνση IP.

Η αριθμητική τιμή που ακολουθεί το όνομα διακομιστή είναι ο αριθμός θύρας στην οποία κάνει ακρόαση η βάση δεδομένων. Οι τιμές που αναφέρθηκαν νωρίτερα σε αυτό το άρθρο είναι δείγματα προεπιλεγμένων τιμών. Βεβαιωθείτε ότι αντικαθιστάτε τον αριθμό θύρας που χρησιμοποιεί η βάση δεδομένων σας.

Για να εμφανίσετε μια πλήρη λίστα των παραμέτρων URL σύνδεσης, ανατρέξτε στη Βοήθεια HTML του προγράμματος οδήγησης του Microsoft SQL Server 2000 για JDBC ή ανατρέξτε στον Ηλεκτρονικό οδηγό. Ανατρέξτε στην ενότητα "Ιδιότητες συμβολοσειράς σύνδεσης".

Δείγμα κώδικα για τη δοκική της σύνδεσης

Το ακόλουθο δείγμα κώδικα επιχειρεί να συνδεθεί με τη βάση δεδομένων και εμφανίζει το όνομα, την έκδοση και τους διαθέσιμους καταλόγους της βάσης δεδομένων. Αντικαταστήστε τις ιδιότητες διακομιστή με τις τιμές του διακομιστή σας:
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();
       }
}

				
Εάν αυτός ο κώδικας είναι επιτυχημένος, το αποτέλεσμα θα είναι παρόμοιο με το ακόλουθο:
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
					

Αντιμετώπιση προβλημάτων βασικών συνδέσεων

Παρακάτω αναφέρονται κοινά μηνύματα λάθους, τα οποία ενδέχεται να παρουσιαστούν κατά την προσπάθειά σας να συνδεθείτε με τον SQL server:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Login failed for user 'user'. Reason: Not associated with a trusted SQL Server connection.
Αυτό το μήνυμα λάθους παρουσιάζεται όταν η λειτουργία ελέγχου ταυτότητας του SQL Server 2000 έχει οριστεί σε λειτουργία ελέγχου ταυτότητας των Windows. Το πρόγραμμα οδήγησης του Microsoft SQL Server 2000 για JDBC δεν υποστηρίζει τη δημιουργία σύνδεσης με έλεγχο ταυτότητας των Windows NT. Πρέπει να ορίσετε τη λειτουργία ελέγχου ταυτότητας του SQL Server σε Μεικτή λειτουργία, επιτρέποντας έτσι την εφαρμογή και των δύο ελέγχων ταυτότητας, των Windows και του SQL Server.
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.
Αυτό το μήνυμα λάθους παρουσιάζεται κατά την προσπάθειά σας να συνδεθείτε με μια έκδοση του SQL Server που είναι παλαιότερη από την έκδοση SQL Server 2000. Το πρόγραμμα οδήγησης του Microsoft SQL Server 2000 για JDBC υποστηρίζει τη δυνατότητα σύνδεσης μόνο με τον SQL Server 2000.

Ιδιότητες

Αναγν. άρθρου: 313100 - Τελευταία αναθεώρηση: Τρίτη, 5 Δεκεμβρίου 2006 - Αναθεώρηση: 3.2
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2000 Driver for JDBC
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Standard Edition
Λέξεις-κλειδιά: 
kbhowtomaster KB313100

Αποστολή σχολίων

 

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