Đỉnh NGUYỄN

life's a journey not a destination

Xây dựng ứng dụng .NET vớI Oracle Developer Tools for Visual Studio

2 Comments


Mục đích

Mô tả cách xây dựng ứng dụng .NET truy xuất cơ sở dữ liệu Oracle dùng Oracle Developer Tools for Visual Studio.

Tổng quan

Oracle Developer Tools for Visual Studio là 1 “Add-in” được tích hợp vào Visual Studio mang đến sức mạnh và sự tiện dụng cho người phát triển .NET có truy xuất cơ sở dữ liệu Oracle. Được thiết kế rất trực quan và nâng cao hiệu suất cho người đã phát triển Oracle Database trên .NET, dễ dàng cho ngườI mới học cách phát triển Oracle.

Dùng Server Explorer để xem danh sách các Oracle schema, chạy các công cụ “designers and wizards” mạnh mẽ để tạo hoặc sửa đổi schema objects, kéo và thả các objects vào Form để tự động sinh mã.

Dùng PL/SQL editor, Adhoc SQL Query Window, và tài liệu trợ giúp theo ngữ cảnh được tích hợp sẵn hoặc “Oracle SQL and PL/SQL Users Guides”. VớI Oracle Data Window, bạn không cần phảI rời Visual Studio để thực hiện tác thao tác insert, update hoặc testing các store procs.

Yêu cầu

1) CàI đặt Microsoft Visual Studio 2008/2010

2) Cài đặt Oracle Database 9.2 trở lên hoặc Oracle Database XE

3) Cài đặt Oracle 11g Oracle Data Access Components (ODAC) dùng phiên bản Oracle Developer Tools for Visual Studio 11.1.0.6.20 trở lên từ web site OTN.

Tạo Oracle Connection

Trước khi tạo ứng dụng, mở Visual Studio và trả nghiệm giao diện.

1) Từ Windows Start, khởi động Visual Studio

2) Từ menu View, chọn Server Explorer

image

3) Trong Server Explorer, nếu đã có kết nối (ví dụ HR.ORCL), bạn có thể mở rộng nó để kết nối tới cơ sở dữ liệu.

image

Nhập mật khẩu tàI khoản HR

image

Ngược lại, click phảI lên Data Connections và chọn Add Connection…

image

4) Hộp thoại Add Connection xuất hiện. Nếu Data Source không phải là Oracle Database Server (Oracle ODP.NET), chọn Change.

image

Trong hộp thoại Change Data Source, chọn Data source là Oracle Database Server và Data provider là Oracle Data Provider for .NET

image

5) Nhập Data source name. Đây là SID của Oracle instance mà bạn đang dùng.

Nhập User name và Password đăng nhập cơ sở dữ liệu Oracle, chọn Save password, chọn Role là Default. Chọn Test Connection để kiểm tra kết nối.

image

Kiểm tra kết nối thành công, OK

image

6) Chọn OK

image

7) Kết nốI HR.ORCL được tạo ra và được thêm vào dưới Data Connections trong Server Explorer.

image

Tạo Table

Tạo mớI table tên DEPENDENTS có quan hệ khóa ngoạI với bảng EMPLOYEES.

Tạo Columns

1) Mở rộng HR.ORCL, click phảI lên Tables và chọn New Relation Table…

image

2) Nhập Table name là DEPENDENTS và click nút Add để thêm mới cột.

image

3) Nhập FIRSTNAME cho cột Name, chọn VARCHAR2 cho Data type và nhập 30 cho thuộc tính Size. Chọn Add

image

4) Nhập LASTNAME cho cột Name, chọn VARCHAR2 cho Data type và nhập 30 cho thuộc tính Size. Chọn Add

image

5) Nhập BIRTHDAY cho cột Name, Chọn DATE cho Data type. Chọn Add

image

6) Nhập RELATIONSHIP cho cột Name, chọn VARCHAR2 cho Data type và nhập 20 cho thuộc tính Size. Chọn Add

image

7) Nhập EMPLOYEEID cho cột Name, chọn NUMBER cho Data type, bỏ chọn Allow null và nhập 6 cho Precision và nhập 0 cho Scale. Chọn Add

image

8) Nhập DEPENDENTID cho cột Name, chọn NUMBER cho Data type, bỏ chọn Allow null và nhập 6 cho Precision và nhập 0 cho Scale. Chọn Preview SQL.

image

9) Đây là đoạn SQL được thực thi khi Table được tạo. Chọn OK

image

10) Chọn Save

image

11) Cửa sổ Output hiện thông tin quá trình thực thi. Bảng DEPENDENTS đã được tạo ra. Đóng cửa sổ Output

image

12) Mở rộng bảng DEPENDENTS trong Server Explorer, có thể xem các cột đã được tạo ra. Và bây giờ hãy bắt đầu tạo index (chỉ mục)

image

Tạo Index

1) Chọn tab Indexes

image

2) Chọn Add

image

3) Nhập Name là DEPENDENTS_INDX và chọn nút Add bên phần Index properties

image

4) Chọn DEPENDENTID cho cột Key và chọn Save.

image

5) Cửa sổ Output hiện thông tin thực thi. DEPENDENTS_INDX đã được tạo ra. Đóng cửa sổ Output.

image

Tạo Foreign Key

1) Chọn tab Constraints

image

2) Chọn Add

image

3) Nhập EMPLOYEES_FK cho Name, chọn Foreign Key cho Type, chọn EMPLOYEES cho Table và chọn ràng buộc EMP_EMP_ID_PK cho Constraint. Chọn EMPLOYEE_ID cho cột Reference Column và chọn EMPLOYEEID cho cột Local Column. Chọn Add

image

4) Nhập DEPENDENTS_PK cho Name, chọn Primary Key cho Type và chọn nút Add trong phần Primary key columns

image

5) Chọn DEPENDENTID chọ Primary key column. Chọn Save

image

Cửa sổ Ouput hiện thông tin thực thi. Đóng cửa sổ Output

image

6) Mở rộng Indexes và Constraints trong Server Explorer bạn sẽ thấy các Indexes và Constraints đã tạo.

image

Xem dữ liệu trong Table

1) Click phảI lên bảng DEPENDENTS và chọn Retrieve Data…

image

2) Nhập ít nhất 4 dòng dữ liệu như bên dưới. Chắc rằng bạn nhập Employee ID hợp lệ. Click phải lên tab hiện tại và chọn Save.

2010-12-12_1112

image

Sinh code tự động

Tạo Visual C# Windows Application

1) Từ menu File, chọn New > Project

image

2) Trong hộp thoại New Project. Trong Project types chọn Visual C#: Windows. Chọn Templates là Windows Application.

Bạn có thể nhập tên thích hợp cho ứng dụng (Name), chọn vị trí bạn muốn lưu các tập tin ứng dụng (Location) (Chú ý: Nếu thư mục không tồn tại, nó sẽ tự tạo).

image

3) Một Form1.cs [Design] được tạo ra

image

Tạo Data Source

Bạn dùng bảng DEPENDENTS đã tạo ra cho HR schema

1) Từ menu Data, chọn Show Data Sources

image

2) Trong hộp thoạI Data Sources, chọn Add New Data Source…

image

Data Source Configuration Wizard xuất hiện

3) Chọn Data Source type là Database. Chọn Next

image

4) Bạn đã tạo Data Connection trong phần trước, HR.ORCL. Chọn HR.ORCL. Chọn Yes, include sensitive data in the connection string. Chọn Next

image

5) Chấp nhận tên chuỗi kết nốI ConnectionString là lựa chọn mặc định. Chọn Next.

image

8) Bây giờ, chọn các đối tượng cơ sở dữ liệu cần đưa vào DataSet. Mở rộng Tables. Mở rộng DEPENDENTS. Chọn checkbox bên cạnh DEPENDENTS (HR)

image

Chọn Finish. Bảng Dependents được thêm vào cửa sổ Data Sources

image

Thiết kế Form

1) Quay trở lạI tab Form1.cs[Design]. Chỉnh kích thước Form như sau:

image

2) Trong cửa sổ Data Sources, mở rộng DEPENDENTS. Kéo DEPENDENTS và thả vào Form1

image

Một lưới dữ liệu với các cột trong bảng DEPENDENTS được thêm vào. Bạn có thể điều chỉnh kích thước như yêu cầu.

image

3)

Nhấp đôi Save icon ( image). Lưu ý: Nếu icon không enabled, click phảI lên icon và chọn Enabled

image

Cửa sổ viết code cho Form1.cs sẽ mở.

image

4) Thêm khốI try {}, catch {} và 3 dòng code.

image

Chạy ứng dụng

1) Từ menu Build, chọn BuildWindowsFormsApplication1

image

Đảm bảo rằng không có lỗi xuất hiện trong cửa sổ Output

2) Từ menu Debug, chọn Start Debugging

image

Form1 hiện dữ liệu từ bảng Dependents

image

3) Sửa DEPENDENTID của dòng mà FIRSTNAME là Mary thành 5555. Chọn Save icon

image

Thông báo cập nhật thành công. Chọn OK

image

4) Xóa dòng dữ liệu vớI FIRSTNAME là Sue. Chọn Delete icon

image

Chọn nút Save icon. Thông báo xuất hiện xóa thành công

image

Đóng Form1

Dùng Stored Procedures

Tạo 1 Stored Procedure

1) Từ cửa sổ Server Explorer, chọn Packages và chọn New Package…

image

2) Chấp nhận Package name và chọn Add dướI vùng Methods

image

3) Nhập GETCURSORS cho Method name, chọn Procedure cho Method type, và chọn Add dưới vùng Parameters

image

4) Chọn MAXROWS cho Name và chọn Add

image

5) Nhập EMPLOYEESCUR cho Name, chọn OUT cho Direction và chọn SYS_REFCURSOR cho Data type. Chọn Add

image

6) Nhập DEPENDENTSCUR cho Name, chọn OUT cho Direction, chọn SYS_REFCURSOR cho Data type. Chọn Add

image

7) Chọn Preview SQL >> để xem code SQL sẽ được thực thi.

image

8) Xem lại code SQL được sinh ra và chọn OK

image

9) Chọn OK để tạo Package

image

Cửa sổ Output hiện thông tin thực thi. Đóng cửa sổ Output

image

Thay đổi nội dung Package

1) Package đã được tạo và Package Body được mở. Nếu không nhìn thấy code được phát sinh. Click phải lên Package1 trong Server Explorer và chọn Edit Package Body. Tìm dòng có từ NULL

image

2) Thay thế dòng NULL; bởi:

OPEN EMPLOYEESCUR FOR SELECT * FROM EMPLOYEES;
OPEN DEPENDENTSCUR FOR SELECT * FROM DEPENDENTS;

image

3) Click phải lên windows tab và chọn Save

image

Cửa sổ Output hiện thị thông tin thực thi. Đóng cửa sổ Output

image

Chạy Stored Procedure

1) Mở rộng Package PACKAGE1 trong Server Explorer. Click phải lên GETCURSORS và chọn Run.

image

2) Nhập 999 cho tham số MAXROWS và chọn OK

image

3) Chọn giá trị cho EMPLOYEESCUR

image

4) Chi tiết EMPLOYEESCUR hiển thị. Chọn giá trị cho DEPENDENTSCUR

image

5) Chi tiết cho DEPDENDENTSCUR hiển thị. Đóng cửa sổ Output

image

Dùng Query Window

Cửa sổ Query cho phép chạy 1 hoặc nhiều câu truy vấn dữ liệu trong cơ sở dữ liệu

1) Click phải lên kết nốI HR.ORCL và chọn Query Window

image

2) Nhập lệnh SQL: SELECT * FROM DEPENDENTS; và chọn Execute

image

3) Kết quả được hiển thị. Để định dạng kết quả hiển thị, click phải lên tab Query, chọn Set Query Output > Text và chọn Execute lại lần nữa.

image

4) Kết quả hiển thị theo định dạng text

image

5) Bạn có thể thực thi nhiều lệnh SQL cùng lúc. Thêm lệnh SQL: SELECT * FROM EMPLOYEES;. Chọn cả 2 lệnh và chọn Execute. Lưu ý: nếu cả 2 lệnh không được chọn, chỉ lệnh sau cùng được thực thi.

image

6) Chọn Yes để chạy query

image

7) Kéo lên cùng của cửa sổ Query, bạn sẽ thấy dữ liệu của cả 2 câu truy vấn.

image

Tổng kết

Qua bài này, bạn đã biết được

* Tạo table, index và constraint

* Xem dữ liệu trong table

* Tự động sinh code

* Tạo và chạy stored procedure

* Dùng Query Window

Advertisements

Author: dinhnn

Senior software developer, a technical leader. You can be reached at via email to dinhnguyenngoc@gmail.com, via my blog at dinhnguyenngoc.wordpress.com, and on Twitter @dinhnguyenngoc.

2 thoughts on “Xây dựng ứng dụng .NET vớI Oracle Developer Tools for Visual Studio

  1. Em mới tìm hiểu về oracle còn nhiều cái em chưa biết rõ anh có thể cho em hỏi một số cái
    Khi em vào server explorer thì nó có hiện ra một data connection là Ngoctu-pc.System
    Ngoctu-pc là tên máy của em, System là tên user đăng nhập vào oracle .
    Nhưng khi em vào truy xuất dữ liệu từ bảng thì nó không hiện các bảng mà em đã tạo, chỉ hiện tất cả các bảng hệ thống.(trước đó em đã tạo một database là qlbh_online trong user system).
    Anh có thể chỉ giúp em chổ này được không ạ.
    Và cho em hỏi nếu em tạo mới một data connection thì như trên của anh là HR (có phải là tên máy của mình không). ORCL (cái này là tên user mình đăng nhập vào hay là tên của database như của em là qlbh_onlne).
    Em xin cảm ơn trước ạ.

    • Với Oracle, thông thường DBA chỉ tạo 1 Database, và trong database sẽ tạo nhiều schema (user), có thể xem 1 schema (user) trong Oracle tương ứng với database trong Microsoft SQL Server.
      Trong bài viết thì:
      – Tên của CSDL là ORCL
      – Tên của schema (user) là HR (HumanResource)

      Thân chào!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s