Oracle Database 2日で.NET開発者ガイド 11g リリース1(11.1) E05695-02 |
|
この章の内容は次のとおりです。
Oracle Developer Tools for Visual Studio(ODT)は、Visual Studio用に緊密に統合されたアドインです。ODTによりServer Explorerに組み込まれる拡張機能を使用することで、表、索引、制約、データ接続などのデータベース・スキーマ・オブジェクトを自動作成できます。また、アプリケーション・コードも自動生成できます。
この項では、データベース・スキーマ・オブジェクトを自動的に作成または変更するために、Server Explorerを使用してOracle Databaseに接続する方法を説明します。
表示されている場合は、手順6に進みます。
「Data source」に「Oracle Database (Oracle ODP.NET)」と表示されていない場合は、「Change」を選択します。
「Change Data Source」ウィンドウが表示されます。
Data source name: リモート・データベース・インスタンスの別名orcl
などを使用します。
同じコンピュータ上のデータベースに接続する場合は、Local Database
を使用します。
「Use a specific user name and password」オプションを選択します。
「User name」にHR
と入力します。
「Password」に、hr
アカウントのロック解除と設定を行ったときに作成したパスワードを入力します。
後続のセッション用にパスワードを保存するには、「Save password」ボックスを選択します。
「Role」がDefault
に設定されていることを確認します。これにより、ユーザーhr
に付与されているデフォルトのロールが参照されます。
「Connection name」は「Data source name」および「User name」の値から自動生成されます。この演習では、HR.orclになります。
HR
スキーマが「Displayed schemas」列に含まれていることを確認します。データ接続のスキーマ・カテゴリ・ノードを開くと、「Apply Filters」タブで選択したスキーマ・オブジェクト(表、ビューなど)のみが表示されます。テストは成功するはずです。「OK」をクリックします。
テストが失敗した場合は、次のような問題が原因であると考えられます。後続の手順に進む前に、問題を解決する必要があります。
HR
スキーマの内容を表示します。「Tables」、「Views」、「Procedures」、「Functions」、「Packages」、「Synonyms」、「Sequences」などが表示されます。Oracle Developer Toolsには、データベース・オブジェクトを作成するためのユーザー・インタフェースが含まれています。この項では、DEPENDENTS
という名前の表を作成します。
表の設計ウィンドウが表示されます。
DEPENDENTS
と入力します。「Add」をクリックします。続いて、新しい列の情報を入力します。新しい列がすべて追加されるまで、繰り返し「Add」をクリックします。
フィールドはデータ型によって異なる場合があります。タブ全体にアクセスするには、Server ExplorerやSolution Explorerなどのウィンドウを閉じることが必要になる場合があります。
LAST_NAME
、「Data Type」にVARCHAR2
、「Size」に30
を指定します。他のプロパティは、すべてデフォルト値のままにします。
FIRST_NAME
、「Data Type」にVARCHAR2
、「Size」に20
を指定します。他のプロパティは、すべてデフォルト値のままにします。
BIRTH_DATE
、「Data Type」にDATE
を指定します。他のプロパティは、すべてデフォルト値のままにします。
RELATIONSHIP
、「Data Type」にVARCHAR2
、「Size」に20
を指定します。他のプロパティは、すべてデフォルト値のままにします。
EMPLOYEE_ID
、「Data Type」にNUMBER
を指定し、「Allow null」を選択解除します。「Precision」に6
、「Scale」に0
を入力します。
DEPENDENT_ID
、「Data Type」にNUMBER
を指定し、「Allow null」チェック・ボックスを選択解除します。「Precision」に6
、「Scale」に0
を入力します。表を作成するSQL文が「Preview SQL」ウィンドウに次のように表示されます。
「OK」をクリックして「Preview SQL」ウィンドウを閉じます。
この操作により、HR
スキーマに新しい表DEPENDENTS
が作成されます。新しい表がServer Explorerにリストされます。
索引はオプションですが、非常に役立つリレーショナル・データベースの機能です。索引を使用すると表の行(またはレコード)にすばやくアクセスできます。この項では、DEPENDENTS
表に索引を作成します。
DEPENDENTS
の表の設計ビューで「Indexes」タブをクリックします。
「Index Properties」領域がアクティブになります。
DEPENDENTS_INDEX
と入力し、他のプロパティはすべてデフォルトのままにします。
「Preview SQL」ウィンドウが表示され、索引を作成するSQL文が表示されます。
「OK」をクリックして「Preview SQL」ウィンドウを閉じます。
これで、HR
スキーマの表DEPENDENTS
に新しい索引が作成されます。作成された索引をServer Explorerで確認するには、DEPENDENTS
表および関連する索引を開きます。
データベースで制約を使用すると、許容できるデータ値に対し、データ整合性の定義ルールが自動的に施行されます。また、この制約により、表の主キーや外部キーも実装されます。この項では、新しい表DEPENDENTS
にこのような制約を追加します。
DEPENDENTS
表の設計ビューで、「Constraints」タブをクリックします。構成によっては、すでにデフォルトのチェック制約がリストに含まれていることがあります。
「Constraint Properties」の下の「Add」をクリックします。続いて、新しい制約の情報を入力します。新しい制約がすべて追加されるまで、繰り返し「Add」をクリックします。
EMPLOYEES_FK
、「Type」にForeign Key
、「Table」にEMPLOYEES
、「Constraint」にEMP_EMP_ID_PK
を指定します。「Association」の下で、「Referenced Column:」にEMPLOYEE_ID
、「Local Column:」にEMPLOYEE_ID
を選択し、「On delete」値にCascade
を設定します。他のプロパティは、すべてデフォルト値のままにします。DEPENDENTS_PK
、「Type」にPrimary Key
を指定します。「Primary key columns」領域の下で、「Add」をクリックします(下にスクロールすることが必要な場合があります)。「Primary Key Columns」の下で、「Key:」にDEPENDENT_ID
を選択し、「Using index」値にDEPENDENTS_INDEX
を設定します。他のプロパティは、すべてデフォルト値のままにします。
「Preview SQL」ウィンドウに、表DEPENDENTS
の制約用に生成されたコードが表示されます。制約により、表のDEPENDENT_ID
列とEMPLOYEE_ID
列の定義が変更されるため、制約の追加にはALTER TABLE
コマンドが使用されます。
「OK」をクリックして「Preview SQL」ウィンドウを閉じます。
この操作により、新しい2つの制約がHR
スキーマのDEPENDENTS
表に作成されます。Server Explorerを確認するには、表DEPENDENTS
および制約の階層ツリーを開きます。
ここで、新しいDEPENDENTS
表にデータを追加する必要があります。
DEPENDENTS
表を右クリックして「Retrieve Data」を選択します。DEPENDENTS
の表グリッドが設計ビューに表示されます。
グリッドは次のようになります。
行を移動すると、データは自動的に保存されます。
DEPENDENTS
表の内容を確認するために、表の単純な問合せを使用するフォームを作成します。この項では、Visual Studio統合開発環境(IDE)を使用して、操作に対応するコードを自動生成します。
Visual C#:
HR_ODT_CS
Visual Basic:
HR_ODT_VB
注意: すべてのアプリケーションはForm1から開始しますが、これまでの章で作成したアプリケーションとの関係はありません。
「Data Source」ウィンドウが表示されます。
「Data Source Configuration Wizard」が開きます。
「Next」をクリックします。
「Yes, include sensitive data in the connection string」を選択します。
「Next」をクリックします。
ConnectionString
を選択します。「Next」をクリックします。
「DEPENDENTS(HR)」表を選択します。
「DataSet name」をtableDependentsに変更します。
「Finish」をクリックします。
フォームと表グリッドの両方のサイズ調整が必要になる場合があります。
表グリッド(レコード・ナビゲーション要素を含む)の他に、次のコンポーネントがプロジェクトの設計ビューに追加されます。これらのオブジェクトは、Form1に自動生成されるコードを表しています。
Visual C#:
tableDependents
、dEPENDENTSBindingSource
、dEPENDENTSTableAdapter
、tableAdapterManager
およびdEPENDENTSBindingNavigator
Visual Basic:
TableDependents
、DEPENDENTSBindingSource
、DEPENDENTSTableAdapter
、TableAdapterManager
およびDEPENDENTSBiningNavigator
これにより、Form1の「Save」アイコンのコード・ウィンドウが開きます。
xxx
SaveItem_Click()
で、try...catch
ブロックに既存のコードをカプセル化します。この自動生成されたメソッドのVisual C#およびVisual Basicの完全な名前は、次に示すコードを参照してください。また、MessageBox.show()
コールをTryセクションおよびCatchセクションの両方に追加します。更新したメソッド・コードを次に示します。新しいコードまたは変更されたコードは太字で表しています。
Visual C#:
private void dEPENDENTSBindingNavigatorSaveItem_Click(object sender, EventArgs e) { try { this.Validate(); this.dEPENDENTSBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.tableDependents); MessageBox.Show("Update successful"); } catch (System.Exception ex) { MessageBox.Show("Update failed: "+ ex.Message.ToString()); } }
Visual Basic:
Private Sub DEPENDENTSBindingNavigatorSaveItem_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DEPENDENTSBindingNavigatorSaveItem.Click Try Me.Validate() Me.DEPENDENTSBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.TableDependents) MessageBox.Show("Update successful") Catch ex As Exception MessageBox.Show("Update failed: " + ex.Message.ToString()) End Try End Sub
次の方法で、新しいアプリケーションをテストできます。フロッピー・ディスク・アイコンは、「Save」コマンドを表しています。
|
Copyright © 2009 Oracle Corporation. All Rights Reserved. |
|