SQL Serverデータベース用Oracle ADF Business Componentsの開発

このトピックでは、Microsoft SQL Serverデータベースを使用するOracle ADF Business Componentsプロジェクトを作成する手順を説明します。データベース実装および従う必要のある制限事項の違いに注意してください。「外部データソースの開発における制限事項」を参照してください。

このトピックの説明は、次の手順で構成されています。

  1. 要件
  2. JDBCドライバのインストール
  3. デフォルト・プロジェクト・ライブラリの指定
  4. 新規接続の作成
  5. ビジネス・コンポーネント・プロジェクトの開始
  6. ビジネス・ロジック層のテスト
  7. クライアントのアプリケーション・モジュールの構成
  8. OC4Jへのデプロイ

要件

ここでの手順を実行するには、次のものが必要です。

Microsoft SQL Serverインスタンスのスキーマの設定

SQL Server用のデータベース、セキュリティおよびユーザー・モデルは、Oracleモデルとは異なります。次の手順に従い、JDeveloperからSQL Serverへの接続を開始します。これにより、ORDENTというデータベースおよび(Oracleの慣例に従い)パスワードがtigerのscottというユーザーとログインが作成されます。

注意: Microsoft SQL Serverおよびクライアント・ツール、特にEnterprise ManagerおよびMicrosoftのコマンドラインSQLであるisqlが必要です。

  1. データベースを作成します。
    Enterprise Managerを使用して、システム管理者(sa/saなど)としてログインし、
    「databases」タブを右クリックして新規データベースを作成します。これをORDENTとします。
  2. ユーザーおよびログインを作成します。
    「ORDENT」というデータベース・タブを拡張し、「Users」ノードを右クリックして「create new user」を選択します。
    1. ログイン名のドロップダウン・コンボから「<new>」を選択します。
    2. 認証モードに「SQL Server authentication」を選択し、名前にScott、パスワードにtigerを入力します。
    3. このログインのデフォルト・データベースをORDENTに変更します。
    4. 「Database Access」タブをクリックし、ScottORDENTデータベースへのアクセスを許可するよう選択します。「permit in database role」フィールドで「db_owner」を選択します。
    5. 「OK」をクリックします。パスワードの再確認が必要な場合もあります。「Cancel」をクリックします。
  3. 設定を確認します。
    データベースORDENTには、デフォルト・データベースがORDENTのグローバル・ログインScottを介してアクセスするScottというユーザーがあります。
  4. ORDENTデータベースに表を作成します。
    1. サンプルSQLスクリプトを含むディレクトリ%JDEV_HOME%/BC4J/samples/sqlへ移動します。
    2. isqlを使用してデータベースへ接続し、スクリプトを実行します。
      isql -U Scott -P tiger -S <dbserver> -i createdeptemp_sqlserver.sql
  5. 表を確認します。
    isqlへログインし、次のコマンドを発行します。
     1> select * from dept
    
             2> go
    
             DEPTNO DNAME LOC
    
             ---  -----------  -------------
    
             10   ACCOUNTING   NEW YORK
    
             20   RESEARCH     DALLAS
    
             30   SALES        CHICAGO
    
             40   OPERATIONS   BOSTON
    
    
    
             (4 rows affected)
    
    
    
             1> select empno,ename,job from emp
    
             2> go
    
             empno ename job
    
             ---- ------  ---------
    
             7369 SMITH   CLERK
    
             7499 ALLEN   SALESMAN
    
             7521 WARD    SALESMAN
    
             7566 JONES   MANAGER
    
             7654 MARTIN  SALESMAN
    
             7698 BLAKE   MANAGER
    
             7782 CLARK   MANAGER
    
             7788 SCOTT   ANALYST
    
             7839 KING    PRESIDENT
    
             7844 TURNER  SALESMAN
    
             7876 ADAMS   CLERK
    
             7900 JAMES   CLERK
    
             7902 FORD    ANALYST
    
             7934 MILLER  CLERK
    
    
    
             (14 rows affected)
    
                             
  6. 次の手順に進みます。

JDBCドライバのインストール

SQL Server用ビジネス・コンポーネント・プロジェクトを開発するには、Microsoft SQL Server 2000 Driver for JDBCが必要です。次のURLからドライバをダウンロードできます。

http://www.microsoft.com/sql/downloads/2000/jdbc.asp

ダウンロード後、インストール・ウィザードに従ってインストールします。環境設定には、次のデフォルトのインストール場所が、このチュートリアル全体を通して使用されます。

C:\Program files\Microsoft SQL Server 2000 Driver for JDBC\lib

デフォルト・プロジェクト・ライブラリの指定

関連するライブラリをデフォルトのプロジェクト設定に追加するには、次のようにします。

  1. 「プロジェクト」メニューから、「デフォルトのプロジェクト設定」を選択します。
  2. ナビゲーション・ツリーで、「構成」の下の「Development」「ライブラリ」をクリックします。
  3. msbase.jarmsutil.jarおよびmssqlserver.jarという3つのSQL Serverライブラリを追加する必要があります。
    1. 「新規」をクリックします。
    2. 「ライブラリ名」フィールドにOther JDBCと入力します。
    3. 「クラスパス」フィールドの「編集」をクリックします。
    4. 「エントリの追加」をクリックします。
    5. C:¥Program files¥Microsoft SQL Server 2000 Driver for JDBC¥libへ移動し、フォルダを展開します。
    6. [Ctrl]キーを押しながらmsbase.jarmsutil.jarおよびmssqlserver.jarをクリックして選択します。
    7. 「選択」をクリックします。
    8. 「OK」をクリックし、各ダイアログを閉じます。

サード・パーティ接続用にIDEを設定し、適切なライブラリをデフォルトでプロジェクトに追加するよう指定しました。次は、接続を作成します。

新規接続の作成

新規のデータベース接続を作成するには、接続ウィザードを使用します。

新規接続を作成するには、次のようにします。

  1. JDeveloperのシステム・ナビゲータで「接続」ノードを右クリックし、「データベース接続の作成」を選択して接続ウィザードを起動します。
  2. 「初期画面」ページが表示された場合は、情報を確認して「次へ」をクリックします。
  3. 「タイプ」ページで接続名としてSQL Serverを入力し、「接続タイプ」ドロップダウン・リストで「サード・パーティ製JDBCドライバ」を選択します。「次へ」をクリックします。
  4. 「認証」ページで、ユーザー名およびパスワードを入力し、「パスワードをデプロイ」のチェック・ボックスをチェックします。「次へ」をクリックします。
  5. 「接続」ページで、Javaクラス名およびURLを入力します。
    Javaクラス名: com.microsoft.jdbc.sqlserver.SQLServerDriver
    URL: jdbc:microsoft:sqlserver://<db-host>:1433;SelectMethod=cursor;DatabaseName=[db-name]
    注意: SelectMethod=cursorの前にセミコロンを入力します。
    SelectMethodに関する注意:
    MS SQL Serverのドキュメントには、SelectMethod={cursor | direct}によってMicrosoft SQL Serverのサーバー・カーソルがSQL問合せで使用されるかどうかが決まると記載されています。SelectMethodをdirectに設定すると、サーバー側にSQL文に対するデータベース・カーソルを管理するオーバーヘッドを引き起こすことなく、SQL文を実行できます。SELECT文の実行には、directモードが最も効率的です。ただし、アプリケーションのトランザクション内で実行するアクティブな文は1つに限定されます。1つの問合せの実行で複数の結果セットが必要な場合は、アプリケーションでSelectMethodをdirectに設定する必要があります。
  6. 「テスト」ページで、「接続のテスト」をクリックします。 「成功」というステータス・メッセージが表示されます。
    エラー・メッセージが表示された場合は、次の表を参照するか、データベース管理者に確認してください。

エラー・メッセージ 考えられる原因
"Unable to find driver" Javaクラス名のスペルの誤り
"Error establishing socket" マシン名のスペルの誤り
"No suitable driver can be found" URLの形式の誤り
"Login failed" パスワードの誤り
"Cannot open multiple cursors" SQL Server DB接続をSelectMethod=cursorに設定
"Can't start a cloned connection while in manual transaction mode" SelectMethod=cursorのスペルの誤り

 

 

Copyright © 1997, 2004, Oracle. All rights reserved.