DB2 9 và Microsoft Excel 2007 - Lấy dữ liệu
DB2 - Hệ quản trị cơ sở dữ liệu lớn nhất, mạnh nhất và nhanh nhất trên
thế giới hiện nay do IBM phát triển. So với Oracle, đối thủ chính và mạnh
nhất của mình, DB2 chưa nổi tiếng bằng. Nhưng tin rằng trong tương lai
không xa, DB2 chính là sự lựa chọn tiếp theo cho thế hệ quản trị cơ sở dữ
liệu bên cạnh SQL Server của Microsoft hay Oracle của hãng Oracle.
Chắc hẳn nhiều bạn đọc của Quantrimang.com sẽ cảm thấy khá bỡ ngỡ với
DB2 8.5 hay DB2 9.2. Loạt bài này xin giới thiệu một số phương thức ứng
dụng DB2 9 với Microsoft Excel 2007. Hy vọng rằng chúng sẽ hữu ích
cho những ai đang quan tâm đến DB2, hệ quản trị tương lai của cơ sở dữ
liệu.
Phần 1: Đưa dữ liệu DB2 9 vào Microsoft Excel 2007
Để đưa dữ liệu vào tệp Excel 2007 từ DB2 Data Server, bạn cần bắt đầu với một kết nối
(database connection). Chức năng này được hỗ trợ trong Excel 2007, ở tab Data (xem hình bên
dưới).
Data tab là chức năng mới trong Microsoft Excel 2007. Với Excel 2007, bạn có thể thực hiện rất
nhiều chức năng về dữ liệu bên cạnh các thao tác thông thường như định dạng, hiệu chỉnh. Nổi
bật nhất là bạn có thể import data (nhập dữ liệu) từ nhiều nguồn khác nhau vào Excel. Để nhập
dữ liệu, bạn sử dụng chức năng “Get External Data” (ở khung bên trái của tab Data). Đó chính
là chức năng bạn cần khi muốn nhập dữ liệu DB2 9 vào trong một tệp Excel 2007.
Để nhập nội dung dữ liệu của bảng STAFF vào worksheet của một file Excel 2007, thực hiện các
bước sau:
1. Trong tab “Data”, chọn “From Other Sources” > “From Data Connection Wizard” trong
khung “Get External Data”:
Như ở hình trên bạn có thể thấy, Excel 2007 hỗ trợ nhập dữ
liệu từ nhiều nguồn khác nhau (file
sql server, sql server analysis services, xml, Microsoft query) vào worksheet. Nhưng trong khuôn
khổ bài báo này, chúng ta sẽ nhập dữ liệu của DB2 9, kiểu data chưa được định nghĩa trong
Excel 2007 nên bạn cần chọn “From Data Connection Wizard”.
2. Cửa sổ “Data Connection Wizard” mở, chọn “Other/Advanced” và kích “Next”.
3. Cửa sổ “Data Link Properties” mở, chọn “IBM OLE DB Provider for DB2” ở “OLE DB
provider(s)” và bấm “Next”.
Khi bạn cài DB2 9 client trên máy mình, “OLE DB provider” tương ứng cũng sẽ được tự động
cài đặt. Và Excel 2007 sẽ sử dụng thành phần này để lấy dữ liệu từ cơ sở dữ liệu của DB2 về.
Hình minh họa ở bước 2 hiển thị phương thức để bạn có thể lựa chọn kiểu “ODBC DSN”. Khi
nguồn dữ liệu nhập là DB2 database, bạn có thể chọn kiểu cấu hình cơ
sở dữ liệu là người dùng
(user), hệ thống (system) hay một file DSN sử dụng tiện ích sẵn có của Windows - chức năng
Data Source (ODBC). Cơ sở dữ liệu mẫu SAMPLE của tôi được cấu hình là một file DSN hệ
thống nên tôi cũng có thể dùng kết nối này để truy vấn dữ liệu thay vì chỉ đưa dữ liệu vào file
Excel 2007.
4. Chọn cơ sở dữ liệu bạn muốn kết nối từ hộp “Specify the DB2 database”. Nhập đầy đủ và
chính xác thông tin đăng nhập cho cơ sở dữ liệu của bạn vào ô “Log on Information” và kích
“Test Connection”.
Nếu cơ sở dữ liệu bạn muốn kết nối không nằm trong loại được xác định trên máy đang chạy
Microsoft Excel 2007, bạn có thể tìm kiếm các Data Server tôn tồn tại và database của chúng
(cũng như các cổng vào DB2 Connect nếu bạn muốn tạo thêm kết nối DB2 vào máy I hay DB2
cho máy Z) bằng cách sử dụng thành phần “DB2 Discovery” tích hợp trong Excel. Bạn có thể
thực hiện một kiểu khác bằng cách chọn nút “Direct server connection” và chọn một cơ sở dữ
liệu từ danh sách “Select the database on the server” (háy nhấn nút “Refresh” để update danh
sách server và danh sách database mới nhất trước khi lựa chọn).
Hơi ra ngoài phạm trù của bài này một chút, nhưng sẽ tốt hơn khi lưu ý rằng, bạn có thể dùng
chức năng “Advance” để thiết lập các thuộc tính nâng cao cho kết nối này. Chẳng hạn thiết lập
thời gian chờ cho kết nối với “time-out”, hay tạo một hard-coded password.