1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giới thiệu java và các cơ sở dữ liệu

32 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới thiệu Java và Các Cơ Sở Dữ Liệu
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Khoa Học Máy Tính
Thể loại Đồ án tốt nghiệp
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 154,89 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cùng một lúc, các nhà cung cấp các cơ sở dữ liệu, nhOracle và Informix, muốn các chơng trình Java applet truycập vào đợc cơ sở dữ liệu của họ thông qua Internet vàIntranet, do đó họ đã b

Trang 1

JAVA vµ c¸c c¬ së d÷ liÖu

Trang 1

Trang 2

Nội dung

JAVA và các cơ sở dữ liệu -1

Nội dung -2

Giới thiệu về Java truy cập vào các cơ sở dữ liệu- 3 Các Java Enterprise API -4

JDBC -5

Sự áp dụng JDBC -7

Giới thiệu cụ thể về các class của JDBC -10

java.sql.DriverManager -13

java.sql.Driver -14

java.sql.Connection -14

java.sql.Statement -16

java.sql.PreparedStatement -17

java.sql.CallableSatement -17

java.sql.ResultSet -17

MetaData -19

Java RMI và sắp xếp đối tợng (Object Serialization) -20

Java IDL -22

Nhà cung cấp/ Các giải pháp thành viên thứ ba -23

Oracle -23

Cấu trúc Web Server của Oracle -24

Java cartridge -24

Các class Java của riêng Oracle -24

Visigenic -25

Visigenic OpenChannel Client cho Java -26

Trình giao tiếp giữa JDBC và ODBC của Visigenic -26

Tơng lai -27

Trang 3

Giới thiệu về Java truy cập vào các cơ sở dữ liệu

Sau khi gia đời, Java đã đợc hởng ứng một cách nhiệttình và làn sóng đầu tiên về các ứng dụng viết bằng JavaApplet đã phát triển rất mạnh mẽ, các nhà sáng tạo ra Java ởJavaSoft đã bắt đầu nghĩ đến phát triển Java thành mộtplatform theo kiểu khách/chủ (client/server) Các nhà pháttriển Internet và các nhà t vấn về vấn đề này đã đa ra cáckhái niệm về Intranet và nhận ra rằng Java có rất nhiều

điểm thuận lợi trên thị trờng client/server trong có cả cácclient không quản lý (zero administration client), phần mềmtập trung cập nhật và quản trị, các phần mềm không cóphiên bản và mẫu tập trung vào Web Một trong những tậpJava API (một API là một chơng trình ứng dụng giao tiếp -Application Programming Interfaces) quan trọng và cần thiếtnhất là một trình giao tiếp với các cơ sở dữ liệu do đó dữliệu có thể đợc tạo ra, đợc truy cập đến, đợc chia sẻ, cậpnhật và tham chiếu thông qua Internet và Intranet không códây nối nh các cơ sở dữ liệu trên các mạng hiện nay

Chú ý:

Các Java API là các class và các method cho phép các chơngtrình Java tơng tác với các hệ thống trên một thế giới thực(real-world) Ví dụ, API java.net cho phép một chơng trìnhJava có thể giao tiếp dùng giao thức TCP/IP và API java.awt chocác chơng trình Java khả năng hiển thị các menu, các nút vàcác hộp danh sách Có một số các core API ( chẳng hạn nh cácclass java.lang, java.net, java.net, java.awt, java.applet), làmột phần của bất kỳ một hệ thống Java nào Sau đó có cácphần mở rộng chuẩn của Java nh Java Server API và JavaManagement API Theo thời gian, rất nhiều trong số các chuẩnnày sẽ trở nên một phần không thể thiếu đợc của ngôn ngữJava và sẽ trở thành các core API

Trang 3

Trang 4

Cùng một lúc, các nhà cung cấp các cơ sở dữ liệu, nhOracle và Informix, muốn các chơng trình Java applet truycập vào đợc cơ sở dữ liệu của họ thông qua Internet vàIntranet, do đó họ đã bắt đầu xây dựng các các class vàcác method bằng Java để truy cập vào dữ liệu trong các cơ

sở dữ liệu của họ Điều này tạo ra rất nhiều cách truy cậpvào các cơ sở dữ liệu từ các chơng trình ứng dụng viếtbằng Java

Trong một cuộc hội thảo về Java (vào tháng 5 năm 1996),hãng Sun đa ra một loạt các Java API hớng trực tiếp đến cácứng dụng theo kiểu client/server, Internet/Intranet Có rấtnhiều các API trong đó có cả các Java Enterprise API, JavaCommerce API, Java Security API và Java Servlet/Jeeves API,tất cả các API này đã nâng ngôn ngữ Java lên một mứcplatform và có mục đích là phát triển các ứng dụng kiểuclient/server có thể chạy trên Internet

Phần này đề cập chủ yếu đến các Java enterprise API:JDBC API, RMI (Java Remote Invocation), Object Serialization

và hệ thống IDL Trong các API trên đây thì API IDBC là APIchính (JDBC tức là Java Database Connectivity - tức là cơ sởdữ liệu kết nối qua lại), API này đã sớm đợc sử dụng trong rấtnhiều các chơng trình Java Hiện tại, việc truy cập vào cơ

sở dữ liệu đợc thực hiện bằng 3 cách sau: thông qua JDBCcủa các Java enterprise API; các phơng pháp truy cập riêng

của các nhà cung cấp cơ sở dữ liệu; các class kiểu "thành viên thứ ba" (the third-party class), kiểu này đợc áp dụng

đối với rất nhiều cơ sở dữ liệu Các phần tiếp theo sẽ giớithiệu các cách truy cập vào các cơ sở dữ liệu của các nhàcung cấp và phơng pháp thông qua thành viên thứ ba và vàsơ qua về phơng pháp JDBC

Các Java Enterprise API

Các Java Enterprise API nhanh chóng trở thành một phầnrất có giá trị của ngôn ngữ lập trình Java và của mô hìnhJava máy ảo (Java Virtual Machine) Tất cả các những ngời đ-

ợc cấp giấy phép sẽ thực hiên các API này nh một phần của

hệ thống của họ Do đó, Java Enterprise API là các API vặnnăng và không phụ thuộc vào platform (cross-platform; ở

Trang 5

đây platform là gồm cả phần cứng và hệ điều hành củamáy tính).

Nh đã đề cập trên đây, các Java Enterprise API bao gồmJDBC, RMI, Object Serialization và IDL JDBC là một tập cácclass truy cập vào cơ sở dữ liệu; các RMI API cho phép cácchơng trình Java có khả năng gọi các method của các đối t-ợng (object) với các khoảng tên khác nhau (name-space); cácmethod và các đối tợng của Object Serialization API chophép một chơng trình có thể cất giữ (store) và xử lý trựctiếp các đối tợng này, thay vì cất giữ và xử lý nó dới dạng dữliệu; hệ thống ngôn ngữ định nghĩa giao tiếp IDL(Interface Definition Language) cho phép các chơng trìnhJava giao tiếp với nhóm quản lý đối tợng OMG (ObjectManagement Group)

Tập các API trên đây cho phép phát triển các ứng dụng ởmức enterprise theo kiểu client/server dùng các đối tợng, các

applet và các servlet của Java Khái niệm các ứng dụng ở mức

enterprise là chỉ hệ thống tiện ích quảng cáo, việc đặt

tr-ớc vé máy bay trong hàng không, các hệ thống quảng cáobằng catalog, các hệ thống thị trờng, quảng cáo các sảnphẩm và các hệ thống sản xuất, các hệ thống ngân hàng(từ các máy ATM để cho phép thanh toán với ngân hàng trựctiếp qua một mạng lớn trên phạm vi trong một nớc hay quanhiều nớc), các hệ thống môi giới, vân vân

Tất cả các hệ thống này đều dùng đến một cấu trúc logic

ba lớp (three-tier) (cơ sở dữ liệu kiểu đầu cuôi (back-end),

lớp các quy định trung gian, lớp front end chính là lớp giao

diện đồ hoạ với ngời sử dụng (GUI - Graphical User Interface)

Mở rộng cấu trúc này, rất nhiều tổ chức đã sử dụng một cấu

trúc gọi là cấu trúc N-Tier (tức là N lớp).

N-Tier logic là gì?

ở đây có lẽ hơi lệch về yếu tố lịch sử một chút Các ứng dụngclient/server đợc bắt đầu với một server cơ sở dữ liệu và mộtclient với lớp trình diễn (các menu, các màn hình dữ liệu, vânvân ) Các hệ thống truyền thống này có một chơng trìnhclient chứa tất cả các ứng dụng logic Cấu trúc này sau đó đã

đợc sửa đổi thành cấu trúc ba lớp (đã đề cập trên đây), và

Trang 5

Trang 6

phần logic business đã đợc tách rời từ client và đợc tạo thànhmột lớp riêng biệt Lớp này hoặc ở phía các client hoặc ở phíaserver.

Cùng với sự phát triển cực nhanh của Internet và cácplatform nh Java, các hệ thống này đang trải qua một sựtiến hoá Với các chơng trình Java applet và các servlet, cácnhà phát triển có thể tạo ra các chơng trình Java mà các ch-

ơng trình này bao gồm nhiều chức năng (encapsulatefunction) và dữ liệu Các applet này đợc gửi qua mạng(Internet/Intranet) vào một thời điểm thích hợp và khi đến

đợc client nó thực hiện các chức năng của nó

Để có đợc một cái nhìn toàn cảnh về các Java EnterpriseAPI, bạn có thể xem JDBC nh là một component làm cho mộtcơ sở dữ liệu có thể truy cập đợc, trong khi đó thì RMI vàIDL lại có thể đợc coi là phơng tiện để giao tiếp giữa cácplatform và các hệ thống

JDBC

JDBC (Java Database Connectivity- Tức là cơ sở dữ liệuliên kết) là các class API liên quan đến cơ sở dữ liệu cho cácJava applet và các ứng dụng JDBC đã đợc SunSoft phát triển

và là một phần của Java 1.1 JDBC, cũng giống nh ngôn ngữlập trình Java, nó cũng không phụ thuộc vào platform và cơ

sở dữ liệu Để có thể chạy đợc JDBC trên một platform, thìJava máy ảo phải có một trình quản lý trình điều khiển

địa phơng (native driver manager); đối với các cơ sở dữliệu cụ thể, trình điều khiển cho cơ sở dữ liệu đó cũngcần thiết

Chú ý:

Việc thiết kế JDBC đã đợc hoàn thiện bởi mức gọi giao tiếp(Call Lavel Interface hay CLI) XOPEN SQL và cơ sở dữ liệu kếtnối mở của Microsoft (Microsoft's Open Database Connectivityhay gọi là ODBC) ODBC dựa trên sự truy cập nhóm qua SQL(SQL Access Group hay SAG) CLI Do đó, JDBC và ODBC cócùng một nguồn gốc (common root) Điểm căn bản ở đây là

Trang 7

đối với những ngời biết và thực hiện đợc ODBC thì JDBC cũng

sẽ rất dễ hiểu và áp dụng cũng dễ

Các nhà thiết kế JDBC dùng cách thiết kế là chắt lọc cáccác khái niệm từ ODBC Hai nguyên nhận chính dẫn đến sựcải tiến JDBC từ ODBC là:

1 ODBC đợc dùng rất rộng rãi, điều này giúp cho cácnhà thiết kế giảm đợc quá trình nghiên cứu của họ

2 Vì có các sự thực hiện có hiệu quả trên tất cả cácplatform và trên hầu hết các cơ sở dữ liệu Điều này cónghĩa là không cần phải phát triển các trình điềukhiển và các trình giao tiếp mới cho Java; hãng Sun cóthể là đối tác với các nhà cung cấp có sản phẩm vềODBC để có thể thiết lập nhiều các trình điều khiển,các công cụ, và sự áp dụng chúng

Chú ý:

Một sự khác nhau quan trọng giữa JDBC và ODBC là ODBC dùngrất nhiều các phơng tiện của ngôn ngữ lập trình C, chẳnghạn nh các con trỏ và kiểu trả về void - điều này là không cótrong ngôn ngữ Java Trong môi trờng C, bạn có thể địnhnghĩa hàm trả về void để báo cho trình dịch và thời gianchạy rằng bạn muỗn trả về kiểu con trỏ với kiểu không xác

định Sau khi bạn nhận đợc con trỏ từ hàm đó, con trỏ đó đó

sẽ đợc chuyển thành một kiểu đặc biệt Các nhà thiết kế Javamong muốn rằng sẽ tránh đợc điều này và các thao tác trên cáckiểu con trỏ khác , do đó họ đã thiết kế Java là một ngôn ngữ

có các kiểu trả về rất nghiêm khắc Các method trả về các

đối tợng mà đã đợc biết trớc Java không hề có con trỏ

Các nhà thiết kế ở JavaSoft thực hiện JDBC bằng nhữngkhái niệm rất trừu tợng từ ODBC, chẳng hạn nh kết nối

(Connection) và tập kết quả (ResultSet)

Chú ý:

Trang 7

Trang 8

Các hoạt động thông dụng trên một cơ sở dữ liệu đòi hỏi phảitrả về các hàng (rows) và các hàng dữ liệu, các cột này baogồm rất nhiều các cột, hoặc các trờng, đợc gọi là tập kết quả

(ResultSet).

Nhìn vào các đặc điểm của JDBC, chúng rất thành côngtrong việc cung cấp khả năng truy cập vào cơ sở dữ liệuSQL Đối với JDBC, các thao tác đơn giản trên cơ sở dữ liệu,chẳng hạn nh hỏi đáp, tạo, cập nhật, có thể đợc thực hiệnbằng các method đơn giản Đối với các thao tác phức tạp hơn,chẳng hạn nh các tập kết quả phức tạp và cất các thủ tục cáctham số IN và OUT, JDBC có các lệnh riêng biệt Đối với các ch-

ơng trình tự động và các công cụ của các nhà thiết kế,JDBC có các class và các method MetaData, các class và cácmethod này cung cấp các thông tin về rất nhiều các đặc

điểm mà cơ sở dữ liệu hỗ trợ, cấu trúc bảng, và các đặc

điểm khác

Chú ý:

Khái niệm các stored procedure là các hàm và thủ tục bao

gồm các lệnh dựa trên cơ sở dữ liệu đợc cất trên server cơ sởdữ liệu Khi các chơng trình phía client muốn thực hiện mộthàm thì thay vì phải dùng các lệnh cơ sở dữ liệu, thì chũng

gọi các stored procedure Điểm thuận lợi của việc gọi này là stored procedure ở trên server, điều này cho phép tính

đồng nhất, vấn đề an ninh và có hiệu quả Cũng giống nh các

thử tục thông thờng, các stored procedure cũng lấy các tham

số Các tham số IN đợc truyền cào các stored procedure và chũng không đợc trả lại; Các tham số OUT là các giá trị đợc các stored procedure trả về Khi làm việc với các stored procedure, hệ thống phải làm việc với các tham số này cũng

với bất kỳ một tập kết quả nào (ResultSet)

Các phần sau này sẽ đề cập cụ thể hơn về các class vàcác method về JDBC

Trang 9

Sự áp dụng JDBC

JDBC đợc thực hiện giống nh gói (package) java.sql Bạndùng gói này bằng cách khai báo import java.sql.* trong cácchơng trình Java của bạn Hình vẽ sau đây mô tả chiến lợcthực hiện JDBC Phần bên dới lớp API là trình quản lý trình

điều khiển JDBC cho rất nhiều loại cơ sở dữ liệu viết cho sựkết hợp giữa phần cứng và hệ điều hành, điều này là mộtphần của mô hình Java máy ảo Trình quản lý trình điềukhiển JDBC có thể đợc viết cho một cơ sở dữ liệu cụ thểnào đó hoặc nó có thể là một trình quản lý trình điềukhiển chung cho nhiều cơ sở dữ liệu Hãng Sun có trìnhquản lý trình điều khiển cho các cơ sở dữ liệu chung JDBC

và co cả trình quản lý trình điều khiển cho cơ sở dữ liệuODBC

Cầu nối JDBC/ODBC (Bridge JDBC/ODBC) là một lớp mỏngbên trên JDBC để hớng các lời gọi đến JDBC xang các lời gọicho ODBC Trình cầu nối này đợc cung cấp miễn phí vớiJDBC, và đã đợc Intersolv phát triển Cầu nối JDBC/ODBC làmột lớp rất mỏng bởi vì JDBC rất giống với ODBC về mặtthiết kế các class và các method ( do vậy không cần một lớpvới nhiều chơng trình để chuyển đổi bởi lẽ bản thân JDBC

và ODBC cũng đã có rất nhiều điểm giống nhau) và JDBCcho phép truy cập vào tất cả các cơ sở dữ liệu chính thôngqua các trình điều khiển của ODBC Vì JDBC rất gần gũi vớiODBC hãng Sun đã làm cho nó trở nên dễ dàng đối với cácnhà phát triển và các nhà cung cấp phần mềm độc lập cóthể bắt đầu phát triển các ứng dụng về cơ sở dữ liệu bằngJava Nếu nh họ đã phát triển một trình giao tiếp cơ sở dữliệu hoàn toàn khác thì sẽ mất rất nhiều thời gian và côngsức để có thể giao tiếp Java với các cơ sở dữ liệu chính

Các nhà cung cấp nh Oracle và Borland có các trình

điều khiển cho JDBC để truy cập trực tiếp vào các cơ sở

dữ liệu của họ chẳng hạn nh cơ sở dữ liệu Oracle 7 của

Oracle và Interbase của Borland Các trình điều khiển

này cũng có giá trị tơng tự trong việc phát triển các ứngdụng về cơ sở dữ liệu dùng Java

Trang 9

Trang 10

sở dữ liệu

Hệ điều hành

Trình quản lý trình điều

Java máy ảo

Phần cứng/hệ

điều hành của máy

Nếu ta nhìn sâu hơn một chút về các đặc điểm củaJDBC, chúng ta sẽ thấy là JDBC có sự lựa chọn và load cáctrình điều khiển hoàn toàn động, các trình giao tiếp chocác kết nối, các lệnh và các tập kết quả JDBC đợc thực hiện

nh một dữ liệu ống trong ngữ cảnh các tập kết quả có chứacác dòng dữ liệu và cả sự mô tả về các dòng dữ liệu Sự mô

tả về các dòng dữ liệu đợc gọi là tập kết quả MetaData.

Dùng các method trong java.sql, một chơng trình có thể yêucầu loại của tập kết quả chẳng hạn nh các tên của các cột vàcác kiểu dữ liệu JDBC đã chuẩn bị các lệnh và các đối tợnglệng có thể gọi đợc cho các cơ sở dữ liệu địa phơng xử lý

dùng các thủ tục đã đợc biên dịch và các stored procedure.

Trang 11

đ ợc Lệnh

prepareStatement() prepareCall()

createStatement()

getConnection()

Hình 1 JDBC Implementation components.

Giới thiệu cụ thể về các class của JDBC

Khi bạn nhìn vào hệ thống cấp bậc của các class JDBC,

nh mô tả trên hình dới đây, bạn sẽ thấy các đối tợng đợc

đặt trong một cấu trúc tăng dần Trình quản lý trình điềukhiển kết nối với cơ sở dữ liệu và trả về một đối tợng kếtnối Bạn dùng các method có liên quan đến các lệnh trongmột đối tợng kết nối đẻe thực hiện các lệnh của SQL, và nó

sẽ trả về đối tợng tập kết quả mỗi khi cần thiết Sau đó bạnlấy dữ liệu từ tập kết quả ra bằng từng hàng một và từngcột một

Trang 11

Trang 12

Hình 2 Cấu trúc phân lớp của class JDBC

Các loại class chính là implementation, kết nối cơ sở dữliệu, các lệnh, dữ liệu và các lỗi Bảng 1.1 cho biết các loại

và các class JDBC cho các loại đó

Trang 13

Customer_ID Company_Name Contact_Name Address

Bảng của các khách hàng

Order_ID Company_Name Order_Date Requred_Data Shipped_Date .

Bảng yêu cầu

Order_ID Product_ID Unit_Price Quantity Discount

Bảng yêu cầu cụ thể

Product_ID Product_Name Supplier_ID Quantity .

yInfo Cơ sở dữ liệu kết nối java.sql.Connection Các lệnh SQL java.sql.Statement

java.sql.PreparedSate

ment java.sql.CallableSate

ment Dữ liệu java.sql.ResultSet Các lỗi java.sql.SQLWarning

Bảng 1.1: Các loại Class chính và các Class có liên quan

Khi bạn qua mỗi class, bạn sẽ thực hiện một dự án nhỏ(mini-project) Dự án nhỏ (mini-project) này là truy cập vàomột số ít các trờng trong cơ sở dữ liệu ORDERS.MDB nh làmột ví dụ với truy cập cơ sở dữ liệu của Microsoft Hình 3dới đây mô tả một lợc đồ đơn giản gồm 4 bảng cho hệthống order entry

Trang 13

Trang 14

điều khiển truy cập ODBC trở nên chuẩn đối với sản phẩmtruy cập và rất nhiều sản phẩm khác nh Visual Basic Bạn cóthể load về miễn phí trình điều khiển ODBC 32 bit từWeb site của công ty Microsoft.

Sau đây xin giới thiệu cụ thể về các package trong bảng 1.1 trên đây.

java.sql.DriverManager

Lớp quản lý trình điều khiển theo dõi các trình điềukhiển hiện có của JDBC Có thể có nhiều trình điều khiểntrên một hệ thống - hệ thống ở xa hay hệ thống địa ph-

ơng Trong khi khởi tạo, trình quản lý trình điều khiển

Trang 15

load tất cả các class trong tài sản của hệ thống sql.drivers.Các trình điều khiển có thể đợc thực hiện bởi các method

địa phơng viết bằng C/C++, hoặc bằng một chơng trìnhJava có thể giao tiếp với một cơ sở dữ liệu bằng trình giaotiếp RPC (Remote Procedure Call) hoặc giao tiếp với mộtserver cơ sở dữ liệu đang chờ các kết nối từ phía cácclient Sự thực hiện và giao tiếp cụ thể ra sao là phần việccủa các nhà phát triển Thỉnh thoảng mỗi một trình điềukhiển trong khi đợc load lên nên tự register bằng cách dùng

method DriverManager.registerDriver Thời điểm tốt để

thực hiện điều này là trong mã khởi tạo của class tĩnh

(static class).

JDBC dùng cú pháp URL (theo mẫu: <subprotocol>:

<parameter>) để xác định các kết nối JDBC Trong đó, subprotocol odbc đợc giành cho tên nguồn dữ liệu kiểu

ODBC Một ví dụ JDBC URL nh sau, một ODBC Testdb có tên

ngời sử dụng là Tester1 và mật khẩu là TestPW sẽ có URL là

jdbc : odbc : Tester1; UID=Tester1; PWD=TestPW.

Trình quản lý trình điều khiển hớng các trình điều khiển

đến các JDBC URL; nói cách khác, nó theo dõi mối quan hệcủa trình điều khiển load các class nhờ đó, trình loadclass chỉ có thể truy cập vào đợc trình điều khiển đợcchính nó load Khi mà một kết nối cần đợc mở, trình quản

lý trình điều khiển lựa chọn một trình quản lý trình điềukhiển tơng ứng bằng trình tìm kiếm bảng bên trong để

mở kết nối đó Các trình điều khiển phải phù hợp với kiểu

an ninh của Java Kiểu an ninh thông dụng nhất đợc dùng bởicác trình duyệt Web (thông thờng là Netscape Navigator)

đó là các applet chỉ có thể kết nối trở lại với server củachúng (điều này có nghĩa là các chơng trình applet chỉ

có thể kết nối với các ứng dụng nằm trên máy server mà từ

đó các applet này đã đợc load về), trong khi đó các ứngdụng lại có thể kết nối tự dó đến các mày khác Kiểu anninh nãy sẽ sớm đợc thay đổi đối với một signed-class, cácapplet tin cậy với kiểu thiết lập an ninh động Trình quản lýtrình điều khiển cung cấp các kết nối đối tợng

Trang 15

Trang 16

java.sql.Driver

Class java.sql.Driver cung cấp thông tin về trình điềukhiển cơ sở dữ liệu chung và cài đặt Nó sẽ đợc load trongquá trình khởi tạo cơ sở dữ liệu và sẽ đợc hỏi các thông tin

về trình điều khiển trong chơng trình Java Điều này cónghĩa là class này sẽ đợc thờng trú trong bộ nhớ trong quátrình chơng trình Java đó đợc thực hiện Sau đó class nàynên nhỏ ở mức tối thiểu Các method trong java.sql.Driver có

method connect (để kết nối với một cơ sở dữ liệu) và method getPropertyInfo (để lấy các thông tin yêu cầu về

kết nối đến một cơ sở dữ liệu) Nh đã đề cập trên đây,

DriverManager.registerDriver để register chính nó.

Trình quản lý trình điều khiển sẽ giữ thông tin về classDriver, trong đó có cả thông tin về kiểm tra truy cập và anninh về nguồn load class đó về

Nh đã đề cập trên đây, trình quản lý trình điều khiển

sẽ load tất cả các trình điều khiển mà nó nhận biết đợc

trong tài nguyên của hệ thống sql.drivers Một phơng pháp

khác là khứt khoát chỉ load những trình điều khiển xác

định nào đó bằng cách dùng method forName trong Class

Object Việc dùng method này đợc cho nh sau

java.sql.Driver dbDriver =

Class.forName("SomeCompany.SomeDatabase.Driver").newInstance().

Lệnh này sẽ load trình điều khiển từ $CLASSPATH\

SomeCompany.SomeDatabase.Driver.class và trả về

kết quả là đối tợng Driver.

Đối với dự án nhỏ của bạn, bạn có thể load trình điềukhiển dùng dòng lệnh sau đây trong chơng trình:

Java.sql.Driver database = class.forName("jdbc : odbc").newInstance();

Ngày đăng: 20/06/2023, 21:25

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w