Chuẩn bị cho Kỳ thi 733 về Phát triển ứng dụng DB2 9, Phần 6: Lập trình .NET DB2 giao diện liên tục với các khung công tác .NET (.NET framework) ppsx

42 295 0
Chuẩn bị cho Kỳ thi 733 về Phát triển ứng dụng DB2 9, Phần 6: Lập trình .NET DB2 giao diện liên tục với các khung công tác .NET (.NET framework) ppsx

Đ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

Chuẩn bị cho Kỳ thi 733 về Phát triển ứng dụng DB2 9, Phần 6: Lập trình .NET DB2 giao diện liên tục với các khung công tác .NET (.NET framework) Peter Atthem, Chuyên gia IT, IBM Tóm tắt: Tìm hiểu về cách viết các ứng dụng .NET có giao diện với IBM® DB2®. Bạn sẽ được giới thiệu về mô hình đối tượng ADO.NET và sẽ thấy làm thế nào để thi hành các câu lệnh SQL với ADO.NET. Đây là bài thứ sáu trong một loạt bài gồm chín hướng dẫn mà bạn có thể sử dụng để giúp chuẩn bị cho kỳ thi lấy chững chỉ phát triển ứng dụng Họ IBM DB2 9 (kỳ thi 733). Trước khi bạn bắt đầu Về loạt bài viết này Chứng chỉ Nhà phát triển ứng dụng được IBM công nhận xác nhận với những người khác rằng bạn là một nhà phát triển ứng dụng mức trung cấp hoặc cao cấp về IBM DB2 với Linux™, UNIX® và Windows® và cho biết rằng bạn có các kỹ năng giỏi trong tất cả các công việc lập trình chung cũng như lập trình SQL nhúng, lập trình ODBC/CLI, lập trình .NET hoặc lập trình Java™. Loạt bài gồm chín hướng dẫn miễn phí này được thiết kế để giúp bạn chuẩn bị cho kỳ thi lấy chứng chỉ Phát triển ứng dụng DB2 9 cho Linux, UNIX và Windows (kỳ thi 733). Mỗi hướng dẫn bao gồm một liên kết đến một bản tải về dùng thử miễn phí DB2 9 cho Linux, UNIX và Windows. Các hướng dẫn này cung cấp một cơ sở vững chắc cho mỗi phần của kỳ thi. Tuy nhiên, bạn không nên dựa vào các hướng dẫn này như là sự chuẩn bị duy nhất của bạn cho kỳ thi này. Hướng dẫn này trình bày về cái gì? Trong hướng dẫn này, bạn sẽ tìm hiểu về cách viết các ứng dụng .NET có giao diện với DB2 IBM. Bạn sẽ thấy làm thế nào để:  Kết nối với một cơ sở dữ liệu DB2 từ một ứng dụng .NET.  Sử dụng ADO.NET để đọc và cập nhật dữ liệu trong một cơ sở dữ liệu DB2.  Sử dụng ADO.NET để làm việc với các kết quả.  Xây dựng một ứng dụng ADO.NET.  Sửa lỗi một ứng dụng DB2 .NET. Các tư liệu trong hướng dẫn này trình bày các mục tiêu trong Phần 6 của kỳ thi cấp chứng chỉ Nhà phát triển ứng dụng DB2 9 (kỳ thi 733), mang tên " Lập trình .NET". Ai nên tìm hiểu hướng dẫn này? Để tham dự kỳ thi Phát triển ứng dụng Họ DB2 9, bạn đã phải vượt qua được kỳ thi Cơ bản về họ DB2 9 (kỳ thi 730). Bạn có thể sử dụng loạt bài hướng dẫn Cơ bản về họ DB2 (DB2 9 Family Fundamentals tutorial series) để chuẩn bị cho kỳ thi đó. Đây là một loạt hướng dẫn rất phổ biến đã giúp cho nhiều người hiểu về các khái niệm cơ bản về họ các sản phẩm DB2. Ngoài nền tảng DB2 này, bạn cũng nên có kiến thức cơ bản về nền tảng SQL và .NET trước khi bạn bắt đầu hướng dẫn này. Hướng dẫn này là một trong những công cụ có thể giúp bạn chuẩn bị cho kỳ thi 733. Bạn cũng nên xem lại phần Tài nguyên ở phần cuối của hướng dẫn này để biết thêm thông tin. Các yêu cầu hệ thống Bạn không cần phải dùng một bản sao của Cơ sở dữ liệu đa năng DB2 (DB2 Universal Database) để hoàn thành hướng dẫn này. Tuy nhiên, bạn có thể tải về một phiên bản dùng thử miễn phí của Ấn bản doanh nghiệp DB2 9, nếu bạn muốn. Nếu bạn có kế hoạch để phát triển các ứng dụng .NET cho DB2 hoặc bạn có kế hoạch tự mình chạy thử các mã ví dụ mẫu của hướng dẫn này, bạn cần phải hoàn thành các nhiệm vụ sau:  Cài đặt DB2 9 cho Linux, UNIX và Windows.  Tạo cơ sở dữ liệu mẫu bằng cách chạy db2sampl từ DB2 CLP. Mã mẫu trong bài viết này đã được viết để làm việc với cơ sở dữ liệu này.  Cài đặt Microsoft® Visual Studio .NET 2003 hoặc mới hơn. Giới thiệu về lập trình .NET cho DB2 Khung công tác .NET (.NET framework) Khung công tác .NET đã được Microsoft thúc đẩy như là một nền tảng phát triển phần mềm mới cho Windows để thay thế công nghệ Component Object Model (COM – Mô hình đối tượng thành phần). Các tính năng quan trọng của khung công tác này như sau:  Bạn có thể mã các ứng dụng .NET trong hơn bốn mươi ngôn ngữ lập trình khác nhau. Các ngôn ngữ phổ biến nhất cho việc phát triển .NET là C# và Visual Basic .NET.  Thư viện lớp khung công tác .NET cung cấp các khối xây dựng để bạn xây dựng các ứng dụng .NET. Thư viện lớp này là không cần đến ngôn ngữ lập trình (language agnostic) và cung cấp các giao diện cho hệ điều hành và các dịch vụ ứng dụng.  Bất kể bạn viết ứng dụng .NET của bạn bằng ngôn ngữ nào, nó sẽ biên dịch thành Ngôn ngữ trung gian (Intermediate Language - IL), một kiểu mã byte (bytecode).  Common Language Runtime (CLR – Thời gian chạy ngôn ngữ chung) là trung tâm của khung công tác .NET. Nó biên dịch mã IL trong lúc đang chạy và sau đó chạy nó. Trong lúc đang chạy mã IL đã biên dịch, CLR kích hoạt các đối tượng, kiểm tra chúng về đảm bảo an ninh, cấp phát bộ nhớ cho chúng, chạy chúng và dọn sạch bộ nhớ ngay sau khi thi hành xong. Khung công tác .NET cung cấp các hỗ trợ truy cập dữ liệu rộng lớn thông qua ADO.NET. ADO.NET hỗ trợ cả việc truy cập được kết nối lẫn truy cập đã ngắt kết nối. Thành phần then chốt của việc truy cập đã ngắt kết nối trong ADO.NET là lớp DataSet, các cá thể của lớp này hoạt động như một bộ nhớ sẵn (cache) cơ sở dữ liệu, nằm trong bộ nhớ ứng dụng của bạn. Việc truy cập đã kết nối trong ADO.NET không yêu cầu thêm lớp bổ sung nào. Đối với cả hai cách truy cập đã kết nối lẫn truy cập đã ngắt kết nối, các ứng dụng .NET truy cập cơ sở dữ liệu thông qua cái gọi là trình cung cấp dữ liệu .NET (.NET data provider). Nhiều sản phẩm cơ sở dữ liệu khác nhau bao gồm sẵn các trình cung cấp dữ liệu .NET riêng của chúng, kể cả DB2 cho Windows. Một trình cung cấp dữ liệu .NET triển khai thực hiện các lớp cơ bản sau đây:  Connection: Thiết lập và quản lý một kết nối cơ sở dữ liệu.  Command:Thi hành một câu lệnh SQL đối với một cơ sở dữ liệu.  DataReader: đọc và trả về dữ liệu của bộ kết quả từ một cơ sở dữ liệu.  DataAdapter: Liên kết một cá thể DataSet tới một cơ sở dữ liệu. Thông qua một cá thể DataAdapter, DataSet có thể đọc và ghi các dữ liệu bảng cơ sở dữ liệu. Trình cung cấp dữ liệu .NET cho DB2 Trình cung cấp dữ liệu .NET cho DB2 mở rộng sự hỗ trợ DB2 cho các giao diện ADO.NET và mang lại hiệu suất cao, truy cập an toàn tới dữ liệu DB2. DB2 cho Windows bao gồm ba trình cung cấp dữ liệu .NET:  Trình cung cấp dữ liệu DB2 .NET: Một trình cung cấp dữ liệu ADO.NET được quản lý, có hiệu suất cao. Đây là trình cung cấp dữ liệu ADO.NET được khuyến khích sử dụng với họ các cơ sở dữ liệu DB2. Việc truy cập cơ sở dữ liệu ADO.NET bằng cách sử dụng Trình cung cấp dữ liệu DB2 .NET có ít hạn chế hơn và cung cấp hiệu năng cao hơn so với các trình cung cấp dữ liệu cầu nối .NET OLE DB và .NET ODBC.  Trình cung cấp dữ liệu .NET OLE DB: Một trình cung cấp dữ liệu cầu nối để cung cấp các yêu cầu ADO.NET cho trình cung cấp OLE DB của IBM (qua mô đun interop của COM). Trình cung cấp dữ liệu .NET này không được khuyến khích để truy cập vào các cơ sở dữ liệu họ DB2. Trình cung cấp dữ liệu DB2 .NET là trình cung cấp dữ liệu nhanh hơn và có nhiều tính năng phong phú hơn.  Trình cung cấp dữ liệu .NET ODBC: Một trình cung cấp dữ liệu cầu nối để cung cấp các yêu cầu ADO.NET cho trình điều khiển (driver) IBM ODBC. Trình cung cấp dữ liệu .NET này không được khuyến khích để truy cập vào các cơ sở dữ liệu họ DB2. Trình cung cấp dữ liệu DB2 .NET là trình cung cấp dữ liệu nhanh hơn và có nhiều tính năng phong phú hơn. Để phát triển và chạy các ứng dụng có sử dụng Trình cung cấp dữ liệu DB2 .NET, bạn cần .NET Framework phiên bản 1.1 hoặc 2.0. .NET Framework phiên bản 1.0 và Visual Studio .NET 2002 không được hỗ trợ để sử dụng với Trình cung cấp dữ liệu DB2 .NET của DB2 9. Kết nối đến một cơ sở dữ liệu Trong phần này, bạn sẽ tìm hiểu làm thế nào để kết nối đến một cơ sở dữ liệu DB2 từ một ứng dụng .NET. Tạo một kết nối khi sử dụng Trình cung cấp dữ liệu .NET DB2 Khi bạn đang sử dụng Trình cung cấp dữ liệu DB2 .NET, bạn có thể thiết lập một kết nối cơ sở dữ liệu thông qua lớp DB2Connection. Trước tiên, bạn phải tạo một chuỗi ký tự để lưu trữ các tham số kết nối. Dưới đây là một ví dụ về một chuỗi ký tự kết nối có thể dùng:: String connectString = "Database=SAMPLE"; Khi chuỗi này được sử dụng, nó cố gắng để kết nối vào cơ sở dữ liệu SAMPLE: Liệt kê 1. Chuỗi kết nối String cs = "Server=draco:50000;Database=SAMPLE;UID=db2admin;PWD=1a2b3c4d; Connect Timeout=30"; // When used, attempts to connect to the SAMPLE database on the server // 'draco' through port 50000 using 'db2admin' and '1a2b3c4d' as the user id // and password respectively. If the connection attempt takes more than thirty // seconds, the attempt will be terminated and an error will be generated. Để tạo kết nối cơ sở dữ liệu, hãy chuyển connectString đến hàm tạo của lớp DB2Connection. Sau đó, sử dụng phương thức Open() của đối tượng DB2Connection để chính thức kết nối vào cơ sở dữ liệu được xác định trong connectString. Đây là cách làm thế nào để bạn kết nối đến một cơ sở dữ liệu bằng C#: Liệt kê 2. Kết nối đến một cơ sở dữ liệu bằng C# String connectString = "Database=SAMPLE"; DB2Connection conn = new DB2Connection(connectString); conn.Open(); return conn; Tạo một kết nối với các lớp cơ sở chung ADO.NET Phiên bản 2.0 của .NET framework đưa ra một vùng tên được gọi là System.Data.Common; vùng tên này đưa ra một bộ các lớp cơ bản có thể được chia sẻ bởi bất kỳ trình cung cấp dữ liệu .NET nào. Điều này tạo điều kiện thuận lợi cho một cách tiếp cận phát triển ứng dụng cơ sở dữ liệu ADO.NET đặc trưng chung, đưa ra một giao diện lập trình không đổi. Các lớp chính trong Trình cung cấp dữ liệu DB2 .NET với .NET Framework 2.0 được thừa kế từ các lớp cơ sở System.Data.Common. Kết quả là, các ứng dụng ADO.NET đặc trưng chung làm việc với các cơ sở dữ liệu DB2 thông qua Trình cung cấp dữ liệu.NET DB2. Mã C# dưới đây giải thích một cách tiếp cận đặc trưng chung để thiết lập một kết nối cơ sở dữ liệu: Liệt kê 3. Thiết lập một kết nối cơ sở dữ liệu DbProviderFactory factory = DbProviderFactories.GetFactory("IBM.Data.DB2"); DbConnection conn = factory.CreateConnection(); DbConnectionStringBuilder sb = factory.CreateConnectionStringBuilder(); if( sb.ContainsKey( "Database" ) ) { sb.Remove( "database" ); sb.Add( "database", "SAMPLE" ); } conn.ConnectionString = sb.ConnectionString; conn.Open(); Đối tượng DbProviderFactory là điểm bắt đầu của bất kỳ ứng dụng ADO.NET đặc trưng chung nào. Đối tượng này tạo ra các cá thể đặc trưng chung của các đối tượng trình cung cấp dữ liệu .NET, chẳng hạn như các kết nối, các bộ thích ứng dữ liệu (data adapter), các lệnh và các bộ đọc dữ liệu, sẽ làm việc với một sản phẩm cơ sở dữ liệu cụ thể. Trong trường hợp của ví dụ trong Liệt kê 3, chuỗi IBM.Data.DB2 được chuyển vào trong phương thức GetFactory() xác định Trình cung cấp dữ liệu .NET DB2 duy nhất và các kết quả trong việc khởi tạo của một cá thể DbProviderFactory để tạo ra các cá thể đối tượng của trình cung cấp cơ sở dữ liệu cụ thể cho Trình cung cấp cơ sở dữ liệu DB2 .NET. Đối tượng DbConnection có thể kết nối đến các cơ sở dữ liệu họ DB2, đúng như một đối tượng DB2Connection, nó thực sự được thừa kế từ DbConnection, là có thể thực hiện được. Khi sử dụng lớp DbConnectionStringBuilder, bạn có thể xác định các từ khóa của chuỗi kết nối cho một trình cung cấp dữ liệu và tạo ra một chuỗi kết nối tùy chỉnh của khách hàng. Mã trong Liệt kê 3 kiểm tra để xem liệu một từ khóa có tên là database có tồn tại trong Trình cung cấp dữ liệu DB2 .NET không; nếu có mặt một từ khóa có mặt, mã lệnh tạo ra một chuỗi kết nối để kết nối vào cơ sở dữ liệu SAMPLE. Tạo nhóm kết nối (pooling) [...]... sửa chữa lỗi có sẵn cho các ứng dụng ADO.NET Bạn sẽ xem xét các cách làm thực tế trong việc báo cáo lỗi và xử lý lỗi cơ sở, bằng cách sử dụng các đối tượng Exception và các tiện ích theo vết của DB2 NET và DB2 Xử lý lỗi Nếu bạn làm theo đúng cách làm thực tế tốt nhất để xử lý lỗi đúng đắn trong chương trình ADO.NET của bạn, bạn sẽ bao bọc logic trong các ứng dụng ADO.NET của bạn vào các khối lệnh try/catch... với các toán hạng không tương thích tạo ra các ngoại lệ sau đây: ERROR [42818] [IBM] [DB2/ NT] SQL0401N The data types of the operands for the operation "=" are not compatible SQLSTATE=42818 Theo vết trong DB2 ADO.NET Để gỡ rối các ứng dụng ADO.NET DB2 của bạn, bạn có thể sử dụng tiện ích theo vết của DB2 ADO.NET Để kích hoạt tiện ích theo vết của ADO.NET, hãy thi t lập biến môi trường sau đây: SET DB2NMPTRACE=1... data 98: DB2COPY1 | | DB2Interop.Init fnc data 99: 0 | DB2Interop.Init fnc exit2, rc = 0 - False, 15 db2trace False | DB2ConnPool.GetDB2ConnPool fnc data 5: 0 | DB2ConnPool.GetDB2ConnPool fnc data 10: 1 | DB2ConnPool.GetDB2ConnPool fnc data 11: 55706604 | DB2ConnPool.GetDB2ConnPool fnc data 254: 1 1 DB2ConnPool.GetDB2ConnPool fnc exit, rc = 0 DB2ConnPool.DB2ConnPool fnc exit, rc = 0 DB2Connection.DB2Connection1... trả về một giá trị Đối tượng DB2Command Một đối tượng DB2Command cho phép bạn chỉ rõ bạn muốn tương tác với DB2 như thế nào Ví dụ, bạn có thể thực hiện các lệnh SELECT, INSERT, MODIFY và DELETE trên dữ liệu trong DB2 Khi sử dụng Trình cung cấp dữ liệu DB2 NET, bạn thực hiện các câu lệnh SQL thông qua một lớp DB2Command khi sử dụng của các phương thức ExecuteReader() và ExecuteNonQuery() của nó và các. .. liệu DB2, một nhóm kết nối sẽ được tạo ra Khi các kết nối được đóng lại, chúng nhập vào nhóm, sẵn sàng để được các kết nối cần thi t của các ứng dụng khác sử dụng Trình cung cấp dữ liệu DB2 NET cho phép tạo nhóm kết nối theo mặc định Bạn có thể tắt việc tạo nhóm kết nối bằng cách sử dụng cặp từ khóa/ giá trị chuỗi kết nối Pooling=false Bạn có thể kiểm soát hành vi của nhóm kết nối bằng cách thi t lập các. .. cho đối tượng DB2Command và thi t lập các giá trị cho các tham số đó, giống như sau: Liệt kê 8 Thêm các tham số cho đối tượng DB2Command và thi t lập các giá trị cho các tham số đó String insertStmt = "INSERT INTO STAFF (ID,NAME,DEPT,JOB) VALUES (?, ?, 99, ?)"; String [,] staff = {{"Smyth","LW"},{"Hesky","RW"},{"Peter","CLK"}}; //Assume conn is a DB2Connection object DB2Command cmd = conn.CreateCommand();... ADO.NET, mỗi khi bạn chạy một ứng dụng DB2 ADO.NET, một vết chi tiết của các cuộc gọi ADO.NET được tạo ra Liệt kê 11 hiển thị dữ liệu theo vết được tạo ra từ ứng dụng AccessSamplDb mà bạn đã thấy được phát triển ở trên: Liệt kê 11 Ví dụ theo vết của NET | DB2Trace.TraceVersion fnc data 10: Version: 9.0.0.1 | DB2Trace.TraceVersion fnc data 11: Framework: 1.1.4322.2300 | DB2Interop.Init fnc entry | | DB2Interop.Init... dữ liệu với ADO.NET Trong phần này, bạn sẽ học cách làm thế nào để sử dụng đối tượng ADO.NET DB2Command thực hiện câu lệnh SQL trong một ứng dụng NET Sau khi hoàn tất phần này, bạn sẽ biết:  Một đối tượng DB2Command là gì  Làm thế nào để sử dụng phương thức ExecuteReader() để đọc dữ liệu từ DB2  Làm thế nào để sử dụng phương thức ExecuteNonQuery() để chèn và xóa dữ liệu  Làm thế nào để sử dụng phương... tượng DB2Transaction Dưới đây là cách bạn khôi phục lại hoặc cam kết một giao dịch bằng C#: // assume a DB2Transaction object trans trans.Rollback(); trans.Commit(); Để phân tích cú pháp các bộ kết quả, sử dụng một đối tượng DB2DataReader Sử dụng Read() để tiến đến hàng tiếp theo của bộ kết quả, sau đó, sau mỗi lần tìm nạp, hãy lấy ra các giá trị cột bằng cách sử dụng các phương thức áp dụng cho kiểu... file:///c:/windows/assembly/gac/ibm.data .db2/ 9.0.0.1 7c307b91aa13d208/ibm.data .db2. dll | | DB2Interop.Init fnc data 19: 9.1.0.DEF.1 | | DB2Interop.Init fnc data 20: DB2COPY1 | | DB2Interop.Init fnc data 30: D:\IBM\SQLLIB\ | | DB2Interop.Init fnc data 50: D:\IBM\SQLLIB\\bin\db2app.dll | | DB2Interop.Init fnc data 55: a | | DB2Interop.Init fnc data 60: 15 | | DB2Interop.Init fnc data 97: SOFTWARE\IBM \DB2\ InstalledCopies | | DB2Interop.Init . Chuẩn bị cho Kỳ thi 733 về Phát triển ứng dụng DB2 9, Phần 6: Lập trình .NET DB2 giao diện liên tục với các khung công tác .NET ( .NET framework) Peter Atthem, Chuyên. của kỳ thi cấp chứng chỉ Nhà phát triển ứng dụng DB2 9 (kỳ thi 733) , mang tên " Lập trình .NET& quot;. Ai nên tìm hiểu hướng dẫn này? Để tham dự kỳ thi Phát triển ứng dụng Họ DB2 9,. sử dụng để giúp chuẩn bị cho kỳ thi lấy chững chỉ phát triển ứng dụng Họ IBM DB2 9 (kỳ thi 733) . Trước khi bạn bắt đầu Về loạt bài viết này Chứng chỉ Nhà phát triển ứng dụng được IBM công

Ngày đăng: 07/08/2014, 09:23

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan