このチュートリアルでは、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で入手し、インストールしていること。 |
|
アプリケーションの作成を開始する前に、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パネルで、IndexesとConstraintsの前にある+をクリックします。 索引と制約が設定された表が表示されます。
|
|
表のデータには、次の手順を実行することでアクセスできます。
| 1. | 「DEPENDENTS」表を右クリックして、「Retrieve Data...」を選択します。
|
|||||||||||||||||||||||||||||||
| 2. |
次の表に示されているように、最低4行のデータを入力します。 有効なEmployee IDを入力していることを確認してから、現在のタブを右クリックし、「Save」をクリックします。
|
|||||||||||||||||||||||||||||||
このトピックでは、以下の手順を実行します。
| 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」アイコン(
Form1.csコード・ウィンドウが開きます。 Form1.csコード・ウィンドウで、private void dEPENDENTSBindingNavigatorSaveItem_Click(object sender, EventArgs e)プロシージャを調べます。
|
|
| 4. |
コードの3行にtry { }およびcatch { }ブロックを追加します。 次に示されているように、MessageBox文も追加します (太字の文が追加する必要のある文です)。 try }
|
|
アプリケーションを実行するには、以下の手順を実行します。
| 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. |
出力の一番上までスクロールします。 両方の問合せによるデータを確認できます。
|
|
このレッスンで学習した内容は次のとおりです。
| 表、索引、および制約の作成 | ||
| 表データの表示 | ||
| コードの自動生成 | ||
| ストアド・プロシージャの作成および実行 | ||
| 問合せウィンドウの使用 | ||