Oracle Developer Tools for Visual Studioを使用した.NETアプリケーションの構築

目的

このチュートリアルでは、Oracle Developer Tools for Visual Studioを使用して.NETアプリケーションを構築する方法について説明します。

所要時間

約30分

トピック

このチュートリアルでは、以下のトピックについて説明します。

 概要
 前提条件
 Oracle接続の作成
 表の作成
 表のデータの表示
 コードの自動生成
 ストアド・プロシージャの使用
 問合せウィンドウの使用
 まとめ

スクリーンショットの表示

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告:この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合があります。)

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。

概要

新しいOracle Developer Tools for Visual Studioは、Visual Studio用の緊密に統合された"アドイン"であり、Oracle Databaseの機能を.NET開発者に提供します。 データベース開発者が完全に直感的に使用できるように設計されているため、初日から生産性が向上します。 Oracle Databaseでの開発が初めてでも、簡単に学習できます。

サーバー・エクスプローラを使用してOracleスキーマを参照し、数ある強力な デザイナとウィザードのいずれかを起動してスキーマ・オブジェクトの登録と変更をおこない、さらにスキーマ・オブジェクトをフォーム上にドラッグ・アンド・ドロップして コードを自動的に生成します。

PL/SQLエディタ非定型SQL問合せウィンドウ、および『Oracle SQL Guide』や『PL/SQL Users Guide』をはじめとした 統合された状況依存オンライン・ヘルプも提供されています。 また、 Oracle Data Windowを使用すれば、Oracleデータの挿入や更新、またはストアド・プロシージャのテストなど、データベースの定期的な作業をおこなうためにVisual Studio環境から離れる必要はありません。

これらの機能に加え、そのほか多くの機能により、開発者の生産性は大幅に向上し、WindowsでのOracleの開発を簡単に学習できます。

トピック・リストに戻る

前提条件

このチュートリアルを始める前に以下を確認してください。

1.

Microsoft Visual Studio 2008をインストールしていること。

2.

Oracle Database 9.2以上またはOracle Database XEをインストールしていること。

3.

Oracle 11g Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studioバージョン 11.1.0.6.20以上を、 OTNで入手し、インストールしていること。

トピック・リストに戻る

Oracle接続の作成

アプリケーションの作成を開始する前に、Visual Studioを開いてインタフェースを調べます。 以下の手順を実行します。

1.

Windowsのプログラム・メニューから、Visual Studioを起動します。

 

2.

View」→「 Server Explorer」を選択します。

 

3.

Server Explorerパネルが開きます。 すでに HR.ORCL接続が存在する場合は、これを開いてデータベースに接続できます。

PasswordにHRと入力して、「 OK」をクリックします。

HR.ORCL接続が存在しない場合は、「 Data Connections」を右クリックして、「 Add Connection...」を選択します。

 

4.

Add Connectionダイアログ・ボックスが開きます。 Data Sourceが Oracle Database Server (Oracle ODP.NET)に設定されていない場合は、 Change」をクリックします。

Change Data Sourceダイアログ・ボックスで、Data sourceとして「 Oracle Database Server」を選択し、Data providerとして「 Oracle Data Provider for .NET」を選択します。 「 OK」をクリックします。

 

5.

データソース名を入力します。 これは、使用するOracleインスタンスのSIDです。

User nameとPasswordに hr と入力して、「 Save password」をクリックします。さらに、Roleとして「 Default」を選択し、「 Test connection」をクリックします。

テスト接続が成功しました。 「 OK」をクリックします。

 

6.

OK」をクリックします。

 

7.

HR.ORCL接続が作成され、Server ExplorerパネルのData Connectionsに追加されました。

 

トピック・リストに戻る

表の作成

ここで、EMPLOYEES表に外部キーをもつ、DEPENDENTSという新しい表を作成します。

 列の作成
 索引の作成
 外部キーの作成

トピック・リストに戻る

列の作成

表の列を作成するには、以下の手順を実行します。

1.

HR.ORCLを開きます。 「 Tables」を右クリックして、「 New Relational Table...」を選択します。

 

2.

Table nameに DEPENDENTS と入力して、Columnsセクションで「 Add」をクリックします。

 

3.

Nameに FIRSTNAME と入力して、Data typeで「 VARCHAR2」を選択し、Sizeに 30と入力します。 次に、「 Add」をクリックします。

 

4.

Nameに LASTNAME と入力して、Data typeで「 VARCHAR2」を選択し、Sizeに 30と入力します。 次に、「 Add」をクリックします。

 

5.

Nameに BIRTHDATE と入力し、Data typeで「 DATE」を選択します。 次に、「 Add」をクリックします。

 

6.

Nameに RELATIONSHIP と入力して、Data typeで「 VARCHAR2」を選択し、Sizeに 20と入力します。 次に、「 Add」をクリックします。

 

7.

Nameに EMPLOYEEID と入力して、Data typeで「 NUMBER」を選択します。そのあと、 Allow null選択を解除して、Precisionに 6、Scaleに 0を入力します。 次に、「 Add」をクリックします。

 

8.

Nameに DEPENDENTID と入力して、Data typeで「 NUMBER」を選択します。そのあと、 Allow null選択を解除して、Precisionに 6、Scaleに 0を入力します。 次に、「 Preview SQL」をクリックします。

 

9.

これが表の作成時に実行されるSQLです。 「 OK」をクリックします。

 

10.

Save」をクリックします。

 

11.

Outputウィンドウに実行メッセージが表示されます。 DEPENDENTS表が作成されました。 Outputウィンドウを 閉じます

 

12.

Server Explorerパネルで、DEPENDENTS表の前にある +をクリックします。 このトピックで作成した列を確認できます。 これで、索引を作成する準備ができました。

 

トピックに戻る

索引の作成

表の索引を作成するには、以下の手順を実行します。

1.

Indexes」タブをクリックします。

 

2.

Add」をクリックします。

 

3.

Nameに DEPENDENTS_INDX と入力し、Index Keys領域で「 Add」をクリックします。

 

4.

Keyに「 DEPENDENTID」を選択して、「 Save」をクリックします。

 

5.

Outputウィンドウに実行メッセージが表示されます。 索引 DEPENDENTS_INDX が作成されました。 Outputウィンドウを 閉じます

 

トピックに戻る

外部キーの作成

表の外部キーを作成するには、以下の手順を実行します。

1.

Constraints」タブをクリックします。

 

2.

Add」をクリックします。

 

3.

Nameに EMPLOYEES_FK と入力して、Typeで「 Foreign Key」を選択します。さらに、Tableで「 EMPLOYEES」を選択して、Constraintで「 EMP_EMP_ID_PK」を選択します。 Referenced Columnで「 EMPLOYEE_ID」を選択し、Local columnで「 EMPLOYEEID」を選択します。 次に、「 Add」をクリックします。

 

4.

Nameに DEPENDENTS_PK と入力し、Typeで「 Primary Key」を選択して、Primary key columns領域で「 Add」をクリックします。

 

5.

主キー列で「 DEPENDENTID」を選択します。 「 Save」をクリックします。

Outputウィンドウに実行メッセージが表示されます。 Outputウィンドウを閉じます。

 

6.

Server Explorerパネルで、 IndexesConstraintsの前にある +をクリックします。 索引と制約が設定された表が表示されます。

 

トピックに戻る

表のデータの表示

表のデータには、次の手順を実行することでアクセスできます。

1.

DEPENDENTS」表を右クリックして、「 Retrieve Data...」を選択します。

 

2.

次の表に示されているように、最低4行のデータを入力します。 有効なEmployee IDを入力していることを確認してから、現在のタブを右クリックし、「 Save」をクリックします。

FIRSTNAME
LASTNAME
BIRTHDATE
RELATIONSHIP
EMPLOYEEID
DEPENDENTID
Mary
Martin
06-MAY-80
daughter
104
9999
Sue
Littlefield
12-JUL-68
daughter
130
8888
David
Griffiths
02-APR-97
son
104
7777
Aaron
Young
31-AUG-99
son
111
6666

 

トピック・リストに戻る

コードの自動生成

このトピックでは、以下の手順を実行します。

 Visual C# Windowsアプリケーションの作成
 新規データソースの作成
 フォームの設計
 アプリケーションの実行

Visual C# Windowsアプリケーションの作成

Visual C# Windowsアプリケーションを作成するには、以下の手順を実行します。

1.

Visual Studioを終了していないと仮定します。ファイルメニューから「 New」→「 Project」を選択します。

 

2.

Project typesリストから、「 Visual C#」→「 Windows」を選択します。 テンプレート「 Windows Application」を選択します。

Nameフィールドにはアプリケーションに適した名前を入力できます。 (オプション)Locationフィールドに、ファイルを保存するディレクトリを入力します。 (注:ディレクトリが存在しない場合は、作成されます)。

ここでは、デフォルト名を受け入れて「 OK」をクリックします。

 

3.

Form1.cs [Design]タブが追加されました。

 

トピックに戻る

新規データソースの作成

このアプリケーションでは、HRスキーマに作成したDEPENDENTS表を使用します。 新規データソースを作成するには、以下の手順を実行します。

1.

Dataメニューから「 Show Data Sources」を選択します。

Data Sourcesパネルが追加されます。

 

2.

Data Sourcesパネルで、「 Add New Data Source...」をクリックします。

データソース構成ウィザードが開きます。

 

3.

データソース・タイプとして「 Database」を選択します。 「 Next」をクリックします。

 

4.

前のトピックで、データ接続、 HR.ORCLをすでに作成しているので、「 HR.ORCL」を選択して、「 Yes, include sensitive data in the Connection string」オプションを選択します。 「 Next」をクリックします。

 

5.

接続文字列をアプリケーション構成ファイルに保存するためのデフォルトの選択を受け入れます。 「 Next」をクリックします。

 

 

8.

ここで、自分のデータ・セットに含めるデータベース・オブジェクトを選択します。 「 Tables」を開きます。 「 DEPENDENTS」を開きます。 「 DEPENDENTS」チェック・ボックスをチェックします。 表名と表の属性の横にチェック・マークが表示されます。 データ・セットの名前も確認してください。

Finish」をクリックします。 Dependents表がData Sourcesパネルに追加されました。

 

トピックに戻る

フォームの設計

フォームを設計するには、以下の手順を実行します。

1.

Form1.cs[Design]タブで作業します。 必要に応じて、フォームのサイズを変更します。

 

2.

Data Sourcesパネルで、「 DEPENDENTS」を開きます。 「 DEPENDENTS」をForm1キャンバスにドラッグします。

DEPENDENTS表の列名のグリッドが追加されました。 グリッドのサイズは必要に応じて変更できます。

 

3.

Save」アイコン(  )をダブルクリックします。 注:このアイコンが有効になっていない場合は、アイコンを右クリックして「 Enabled」を選択します。

Form1.csコード・ウィンドウが開きます。

Form1.csコード・ウィンドウで、 private void dEPENDENTSBindingNavigatorSaveItem_Click(object sender, EventArgs e) プロシージャを調べます。

 

4.

コードの3行にtry { }およびcatch { }ブロックを追加します。 次に示されているように、MessageBox文も追加します ( 太字の文が追加する必要のある文です)。

try
{
this.Validate();
this.dEPENDENTSBindingSource.EndEdit();
this.dEPENDENTSTableAdapter.Update(this.dataSet1.DEPENDENTS);

MessageBox.Show("Update successful");

}
catch (System.Exception ex)
{
MessageBox.Show("Update failed");
}

 

トピックに戻る

アプリケーションの実行

アプリケーションを実行するには、以下の手順を実行します。

1.

Buildメニューから「 Build WindowsFormApplication1」を選択します。

Outputウィンドウでエラーがないことを確認します。

 

2.

Debugメニューから、「 Start Debugging」を選択します。

Form1にDependents表のデータが表示されます。

 

3.

FIRSTNAMEが'Mary'のレコードのDEPENDENTIDを 5555に変更します。 「 Save」アイコンをクリックします。

メッセージ・ボックスに"Update successful"メッセージが表示されます。 「 OK」をクリックします。

 

4.

FIRSTNAMEが'Sue'の従業員のレコードを削除します。 「 Delete」アイコンをクリックします。

Save」アイコンをクリックします。 メッセージ・ボックスに"Update successful"メッセージが表示されます。 「 OK」をクリックします。

Form1を閉じます。

トピックに戻る

トピック・リストに戻る

ストアド・プロシージャの使用

ここで、ストアド・プロシージャを作成して実行します。

 ストアド・プロシージャの作成
 パッケージ本体の編集
 ストアド・プロシージャの実行

トピック・リストに戻る

ストアド・プロシージャの作成

1.

Server Explorerパネルで、「 Packages」を右クリックして、「 New Package...」を選択します。

 

2.

デフォルトのPackage nameを受け入れて、Methodsの下にある「 Add」をクリックします。

 

3.

Method nameに GETCURSORS と入力し、Method typeで「 Procedure」を選択して、Parametersの下にある「 Add」をクリックします。

 

4.

Nameに MAXROWS と入力して、「 Add」をクリックします。

 

5.

Nameに EMPLOYEESCUR と入力し、Directionで「 OUT」を選択して、Data typeで「 SYS_REFCURSOR」を選択します。 次に、「 Add」をクリックします。

 

6.

Nameに DEPENDENTSCUR と入力し、Directionで「 OUT」を選択して、Data typeで「 SYS_REFCURSOR」を選択します。 「 OK」をクリックします。

 

7.

Preview SQL >>」をクリックして、実行されるSQLを確認します。

 

8.

SQLを確認して「 OK」をクリックします。

 

9.

OK」をクリックして、パッケージを作成します。

Outputウィンドウに実行メッセージが表示されます。 Outputウィンドウを閉じます。

トピックに戻る

パッケージ本体の編集

1.

パッケージが作成され、パッケージ本体が開かれています。 パッケージ本体に対して生成されたコードが表示されない場合は、サーバー・エクスプローラでパッケージ「 PACKAGE1」を右クリックして、「 Edit Package Body」を選択します。下方向にスクロールして、 NULL; 行を見つけます。

 

2.

NULL; 行を次の行で置き換えます。

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

 

3.

ウィンドウのタブを右クリックして、「 Save」を選択します。

Outputウィンドウに実行メッセージが表示されます。Outputウィンドウを 閉じます

 

トピックに戻る

ストアド・プロシージャの実行

1.

Server ExplorerパネルでPackagesの「 PACKAGE1」を開きます。 「 GETCURSORS」を右クリックして、「 Run」を選択します。

 

2.

MAXROWSのパラメータ値に 999 と入力して、「 OK」をクリックします。

 

3.

EMPLOYEESCURの値を選択します。

 

4.

EMPLOYEESCURの詳細が表示されます。 DEPENDENTSCURの値を選択します。

 

5.

DEPENDENTSCURの詳細が表示されます。 Outputウィンドウを 閉じます

 

トピックに戻る

問合せウィンドウの使用

問合せウィンドウでは、データベース内のデータに対して1つ以上の問合せを実行できます。 以下の手順を実行します。

1.

データベース接続の「 HR.ORCL」を右クリックして、「 Query Window」を選択します。

 

2.

SQLコマンド、 SELECT * FROM DEPENDENTS; を入力して、「 Execute」をクリックします。

 

3.

結果が表示されます。 結果の書式を設定するには、Query領域で右クリックして、「 Set Query Output」→「 Text」を選択して、もう一度「 Execute」をクリックします。

 

4.

結果がテキスト形式で表示されます。

 

5.

一度に複数のSQL文を実行できます。 SQLコマンド、 SELECT * FROM EMPLOYEES; を追加します。両方の文が同時に実行されるようにするには、両方の文を選択して、「 Execute」をクリックする必要があります。 注:両方の文を選択しない場合、リストにある最後のSQL文のみ実行されます。

 

6.

Yes」をクリックして、問合せを実行します。

 

7.

出力の一番上までスクロールします。 両方の問合せによるデータを確認できます。

 

 

トピック・リストに戻る

まとめ

このレッスンで学習した内容は次のとおりです。

 表、索引、および制約の作成
 表データの表示
 コードの自動生成
 ストアド・プロシージャの作成および実行
 問合せウィンドウの使用

 

トピック・リストに戻る

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。