Chương 10 ODBC VÀ CÁC ĐỐI TƯỢNG DỮ LIỆU TỪ XA (REMOTE DATA OBJECTS)
I. Open Database Connectivity (ODBC)
1. Khái niệm
ODBC là công nghệ Windows cho phép ứng dụng Client nối với cơ sở dữ liệu từ xa. Nằm trên máy Client, ODBC làm cho nguồn dữ liệu quan hệ trở nên trong suốt đối với ứng dụng Client. Vì thế ứng dụng Client không cần quan tâm đến kiểu cơ sở dữ liệu là gì.
ODBC gồm 3 phần:
- Trình quản lý điều khiển (driver manager).
- Một hay nhiều trình điều khiển (driver).
- Một hay nhiều nguồn dữ liệu (data source).
2. Kiến trúc
Kiến trúc ODBC chứa kết nối giữa ứng dụng Client và cơ sở dữ liệu Server thông qua trình quản lý điều khiển ODBC.
Ứng dụng Client
Nguồn dữ liệu ODBC
Trình quản lý điều khiển ODBC
Trình điều khiển ODBC
Hình 10.1: Kiến trúc ODBC trình bày kết nối giữa ứng dụng Client và CSDL Server thông qua trình quản lý điều khiển ODBC
DB
3. Tạo nguồn dữ liệu ODBC
Để một ứng dụng Client nối với cơ sở dữ liệu Client/Server dùng ODBC; trước hết, ta phải cung cấp thông tin về nguồn dữ liệu ODBC trên Client. Mỗi Server yêu cầu những gói thông tin khác nhau để nối với Client. ODBC cung cấp cho thông tin này một tên đơn giản để ta có thể tham chiếu đến nó, thay vì phải thiết lập gói thông tin từ đầu mỗi lần ta cần đến nó.
Ứng dụng Client có thể tham chiếu một cách dễ dàng đến tổ hợp của một điều khiển, một cơ sở dữ liệu và có thể thêm một người sử dụng và mật khẩu. Tên này chính là tên nguồn dữ liệu hay Data Source Name (DSN).
Để tạo một tên nguồn dữ liệu ODBC trên máy Client, ta làm như sau:
o Mở Control Panel.
o Chọn Administrative Tools\Data Source (ODBC), hộp thoại quản trị nguồn dữ liệu xuất hiện:
Hình 10.2: Hộp thoại quản trị nguồn dữ liệu ODBC o Ta có thể tạo một trong ba kiểu nguồn dữ liệu ODBC:
9 User DSN: chỉ có người dùng tạo ra nó mới có thể sử dụng (trên máy đang dùng).
9 System DSN: bất kỳ ai sử dụng máy này đều có thể dùng được. Đây cũng là kiểu nguồn dữ liệu mà ta cần tạo khi cài đặt ứng dụng cơ sở dữ liệu Web.
9 File DSN: có thể được copy và sử dụng bởi máy khác.
o Khi hộp thoại ODBC đã mở ra, chọn lớp UserDSN (hay System DSN), Tạo một kết nối mới, nhấn nút Add, màn hình sẽ hiện ra như sau:
Hình 10.3: Lựa chọn loại cơ sở dữ liệu cần thiết để tạo kết nối
o Chọn loại CSDL mà ta muốn thao tác (Access, Foxpro, SQL Server,…), nhấn Finish. Sau khi nhấn Finish, một màn hình sẽ hiện ra cho phép ta nhập vào Data Source Name, đây là tên của kết nối CSDL. Tên của kết nối không cần phải giống với tên của cơ sở dữ liệu. Phần Description dùng để gõ các thông tin mô tả về kết nối.
Ngoài ra ta còn phải chọn đường dẫn đến tập tin CSDL tương ứng.
4. Truy cập nguồn dữ liệu với điều khiển DAO Data và ODBC Direct DAO tự động nạp bộ máy cơ sở dữ liệu Jet mỗi khi nó truy cập dữ liệu Client/Server, thậm chí khi ta không thực sự sử dụng cơ sở dữ liêu Jet/Access.
Ngoài ra ta còn có thêm tùy chọn sử dụng ODBCDIRECT để truy cập dữ liệu Client/Server. Đây là một chuyển đổi để truy cập cơ sở dữ liệu server trực tiếp thông qua DAO mà không cần nạp bộ máy cơ sở dữ liệu Jet. Tùy chọn này thích hợp khi ta phải dùng DAO để truy cập dữ liệu Client/Server mà không cần bận tâm về tính linh hoạt, khả năng sử dụng lại và tính dễ bảo trì của chương trình.
Ví dụ: Tạo một Form có sử dụng ODBCDirect và DAO Data Control.
o Tạo dự án mới.
o Tham chiếu đến điều khiển lưới Microsoft Data Bound Grid Control trong mục Project\Components.
o Tạo Form có dạng sau:
2
1
Hình 10.4: Ví dụ về ODBC Direct 1: DBGrid. Name: dbGrid1.
2: Data Control. Name: Data1.
o Đổi thuộc tính DefaultType của DataControl là 1 – Use ODBC. Điều này làm cho chương trình thực hiên nhanh hơn.
o Thuộc tính Connect của Data1 là: ODBC;DSN=DBHH o Đặt thuộc tính Record Source của Data Control:
Select * From THANGHOA
Đặt thuộc tính Data Source của DBGrid1 là: Data1.
Lưu dự án và thực thi chương trình.