วิธีการ: การเริ่มต้น ด้วย jdbc ใน Microsoft

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 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 โดยใช้เมธอดของคลาDriverManagergetConnection วิธีการที่ง่ายที่สุดของการใช้วิธีการนี้ใช้พารามิเตอร์ของสายอักขระที่ประกอบด้วย URL ชื่อผู้ใช้ และรหัสผ่าน ส่วนต่อไปนี้ในบทความนี้อธิบายวิธีการที่โหลดโปรแกรมควบคุม Microsoft SQL Server 2000 สำหรับ JDBC จากโปรแกรม JDBC

เมื่อต้องกำหนดตัวแปร CLASSPATH

โปรแกรมควบคุม Microsoft SQL Server 2000 สำหรับแฟ้ม.jar 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 โปรแกรมควบคุม 2000 ของ SQL Server สำหรับ files\Microsoft JDBC\lib\msbase.jar;c:\program โปรแกรมควบคุม 2000 ของ SQL Server สำหรับ files\Microsoft JDBC\lib\msutil.jar;c:\program SQL Server 2000 โปรแกรมควบคุมสำหรับ JDBC\lib\mssqlserver.jar

เมื่อต้องการลงทะเบียนโปรแกรมควบคุม

แนะนำการลงทะเบียนโปรแกรมควบคุมให้ตัวจัดการโปรแกรมควบคุม jdbc ในโปรแกรมควบคุมใดที่สามารถโหลด เมื่อคุณโหลดโปรแกรมควบคุม โดยใช้ฟังก์ชัน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 แอดเดรส) คุณสามารถทดสอบได้ โดย pinging ชื่อโฮสต์ และการตรวจสอบว่า คุณได้รับการตอบกลับ ด้วยอยู่ IP ที่ถูกต้อง

ค่าตัวเลขหลังชื่อเซิร์ฟเวอร์คือ หมายเลขพอร์ตที่กำลังฟังฐานข้อมูล ค่าที่ระบุไว้ก่อนหน้าในบทความนี้เป็นค่าเริ่มต้นตัวอย่าง ตรวจสอบให้แน่ใจเพื่อทดแทนการหมายเลขพอร์ตที่ใช้ฐานข้อมูลของคุณ

สำหรับรายการของพารามิเตอร์ URL เชื่อมต่อทั้งหมด ดูโปรแกรมควบคุม Microsoft SQL Server 2000 สำหรับ jdbc ในการวิธีใช้ HTML หรือให้ดูคำแนะนำออนไลน์ ดูส่วน "คุณสมบัติสายอักขระการเชื่อมต่อ"

โค้ดตัวอย่างเพื่อทดสอบการเชื่อมต่อ

ตัวอย่างรหัสต่อไปนี้พยายามเชื่อมต่อกับฐานข้อมูล และแสดงชื่อของฐานข้อมูล เวอร์ชั่น และแค็ตตาล็อกพร้อมใช้งาน แทนคุณสมบัติของเซิร์ฟเวอร์ที่ มีค่าสำหรับเซิร์ฟเวอร์ของคุณ:
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] [2000 ยังที่ควบคุมด้วยสำหรับ JDBC] [SQLServer] การล็อกอินล้มเหลวสำหรับผู้ใช้ 'ผู้ใช้' เหตุผล: ไม่เกี่ยวข้องกับการเชื่อมต่อ SQL Server ที่เชื่อถือ
ข้อความแสดงข้อผิดพลาดนี้เกิดขึ้นถ้ามีการตั้งค่าโหมดการรับรองความถูกต้องของ SQL Server 2000 เป็นโหมดการรับรองความถูกต้องของ Windows โปรแกรมควบคุม Microsoft SQL Server 2000 สำหรับ JDBC สนับสนุนการเชื่อมต่อ โดยใช้การรับรองความถูกต้องของ Windows NT คุณต้องตั้งค่าโหมดการรับรองความถูกต้องของ SQL Server ของคุณไปยังโหมดผสม ซึ่งอนุญาตการรับรองความถูกต้องของ Windows และการพิสูจน์ตัวจริงของเซิร์ฟเวอร์ SQL
java.sql.SQLException: [Microsoft] [2000 ยังที่ควบคุมด้วยสำหรับ JDBC] ไดรเวอร์ jdbc ในรุ่นนี้สนับสนุนเฉพาะ Microsoft SQL Server 2000 คุณสามารถปรับรุ่นเป็น SQL Server 2000 หรืออาจค้นหาโปรแกรมควบคุมรุ่นอื่น
ข้อความแสดงข้อผิดพลาดนี้เกิดขึ้นคุณพยายามเชื่อมต่อกับ SQL Server รุ่นก่อนหน้านี้กว่า SQL Server 2000 โปรแกรมควบคุม Microsoft SQL Server 2000 สำหรับ JDBC สนับสนุนการเชื่อมต่อกับ SQL Server 2000 เท่านั้น

คุณสมบัติ

หมายเลขบทความ (Article ID): 313100 - รีวิวครั้งสุดท้าย: 30 ตุลาคม 2555 - Revision: 4.0
ใช้กับ
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Standard Edition
Keywords: 
kbsqlsetup kbhowtomaster kbmt KB313100 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:313100

ให้ข้อเสนอแนะ

 

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