|
インストールガイド 05/21/03 11:48:11 |
この章では、Novell exteNd アプリケーションサーバでのSybase Adaptive Server Enterpriseデータベースの使用方法について説明します。 この章には、SilverMasterデータベースあるいは配備データベースとしてAdaptive Server Enterpriseを使用する場合の情報も含まれています。 この章の節は次のとおりです。
注記: Sybase Adaptive Server Enterpriseは、以前Sybase SQL Serverとして知られていました。
サポートされているデータベースバージョンの最新情報については、Novell exteNd アプリケーションサーバ
リリースノートを参照してください。
この章では、Sybase Adaptive Server Enterpriseを使用してSilverMasterデータベース(および配備データベース)を作成する方法について説明します。
まず初めに、Novell exteNd アプリケーションサーバが常駐するシステムに「Sybaseクライアント」をインストールします。 次の手順を実行します。
アプリケーションサーバをインストールするシステムにjConnectドライバをインストールし、設定する必要があります。 アプリケーションサーバをインストールする前に、このドライバを設定する必要があります。
注記: jConnect 5.xを使用することをお勧めします
Sybase jConnectの詳細については、
www.sybase.comを参照してください。
アプリケーションサーバマシンの AGCLASSPATH変数に、jConnectドライバの場所が指定されていることを確認してください。 Windowsの場合、AGCLASSPATHはシステム環境変数です。 UNIXの場合は、agprofileファイルの中にあります。 NetWareの場合は、setenvコマンドを使用してAGCLASSPATHを設定する必要があります(setenv AGCLASSPATH=path1;path2;path3;...)。
jConnect 4を使用している場合:
AGCLASSPATH=installDir\jConnect-version\classes
jConnect 5を使用している場合:
AGCLASSPATH=installDir\jConnect-version\classes\jconn2.jar
AGCLASSPATH経由のJDBCドライバファイルのリストの詳細については、『管理者ガイド』の
データソース設定に関する章を参照してください。
注記: アプリケーションサーバで排他的にドライバを使用している場合は、Sybaseインストールの注意点で述べたCLASSPATHまたはJDBC_HOME変数を設定する必要はありません。
jConnect stored proceduresをSybaseサーバにインストールします。
詳細については、Sybaseの『jConnect for JDBC Installation Guide 』または
www.sybase.comを参照してください。
アプリケーションサーバをサポートするために、Sybaseサーバを設定する必要があります。 この設定変更には、Sybase TEMPDBデータベースを適切なサイズに変更し、jConnectストアドプロシージャをサポートするためSybaseプロシージャのキャッシュの容量を適切な大きさに設定することが含まれます。
Sybase Centralから、宛先のSybaseサーバに接続し、[Databases]を選択します。
SAまたはそれと同等の権限を持つユーザとしてSybaseサーバに接続する必要があります。
[Usage]タブで、[Total Allocated value]をチェックします。
[TEMPDB Total Allocated]の値が30 MBより小さい場合:
[Total Memory]の値が表示されるまで下にスクロールします。.
総メモリの値2Kページ単位です。したがって、表示された数字の2倍のキロバイトのメモリが現在Sybaseに割り当てられていることになります。 この値をメモしておき、次に[Procedure Cache Percent]の値を検索します。 この値は、13MBのメモリのパーセンテージとなります。
この値を計算するには、13,000を総メモリ容量(キロバイト)で除算します。 これによって、[Procedure Cache Percent]の値として入力するパーセンテージが分かります。
たとえば、Sybase Adaptive Server Enterprise 11.5に割り当てられているデフォルトのメモリ容量は9000ページです(18,000キロバイトに相当)。 13,000を18,000で除算すると、[Procedure Cache Percent]の値は72または72%となります。 [Procedure Cache Percent]の新しい値として72を入力します。
アプリケーションサーバをインストールする前に、実際のSybaseデータベースとその土台となるデータベースデバイスを作成する必要があります。 これらのオブジェクトは、ISQLまたはSybase Centralなどのグラフィカルツールを使用して作成できます。 この節では、Sybase Centralを使用してオブジェクトを作成する方法について説明します。
Sybase Centralから、宛先のSybaseサーバに接続し、[Databases Devices]を選択します。
Sybase Centralの[Database]フォルダから、silvermaster(これは大文字と小文字を区別します)と呼ばれる新規のデータベースを作成します。
jConnectドライバがインストールされてSilverMasterデータベースが作成されたら、アプリケーションサーバで使用するSybaseログインを作成する必要があります。
ログインフォルダで、新規のログイン(たとえば、これをsmuserとする)を追加します。 このアカウントに6文字以上のパスワードを割り当てる必要があります。
[Databases]フォルダから[silvermaster]データベースを右クリックして、[Properties]を選択します。
使用する各配備データベースごとにログインを定義する必要があります。 配備データベースにアプリケーションサーバのシステムテーブルを保存したい場合は、CREATE TABLE権限を指定する必要があります(これはサーバに追加する配備データベースのデフォルトの動作です)。
これでアプリケーションサーバーからSybase Adaptive Server Enterpriseデータベースにアクセスする準備が整いました。 これで、次の作業ができるようになります。
詳細については、『管理者ガイド』の
データソース設定に関する章を参照してください。
この節では、Novell exteNd アプリケーションサーバとともに使用するSybase Adaptive Server Enterpriseデータベースの一般的な問題とその解決方法について説明します。
jConnectからエラーコードがJZ0C0のエラーメッセージConnection already closedを受け取る場合があります。 このエラーを受け取った場合は、実行中のSybaseサーバのバージョンが11.0.3.2であることを確認してください。 Sybaseのバージョンが11.0.3.2でない場合は、Sybaseテクニカルサポートから最新バージョンを入手してください。
Sybaseサーババージョンをアップデートできない場合は、問題を回避するためSybaseデータベースとアプリケーションサーバのシステムテーブルを切り離してください。
ログイン、ユーザ、および権限についての潜在的な問題を回避するもっとも簡単な方法はSAを使用することです。 データベースを追加しているときに問題が発生した場合、Novell exteNd テクニカルサポートでは、問題がログイン、ユーザ、および権限のいずれに原因があるのかを判別するため、SAとしてデータベースの追加を試みるよう指示を出させていただく場合があります。
ただし、多くの環境でSAのパスワードを取得することは実際的でないことが多々あります。 アプリケーションサーバに対して適切な権限を持つログインとユーザの作成方法は、次のSQLの例のとおりです。
Login ログインは、デフォルトのデータベースおよびパスワードだけでなく、Adaptive Server Enterpriseデータベースへのアクセスを定義します。 このSQLスクリプトを使用してSilverUserと呼ばれるログインを作成します。
USE master go EXEC sp_addlogin SilverUser\q,\qPASSWORD\q,\qmydatabase\q, \qus_english\q,"SilverUser" go
ユーザ ユーザは特定のデータベースに対して一組の許可を定義して、ログインに関連付けます。 このSQLスクリプトを使用してSilverUserと呼ばれるユーザを作成します。
EXEC sp_adduser \qSilverUser\q,\qSilverUser\q,\qpublic\q go GRANT CREATE TABLE TO SilverUser go
古いデータベース(Sybase System 10以前のバージョン)のプライマリキーおよび外部キーは、sp_primarykeyおよび sp_foreignkeyという名前のシステムストアドプロシージャを使って定義することができます。 Sybaseでは、現在この方法でプライマリキーおよび外部キーを作成することはお薦めしていません。 事実、jConnectを含む新しいSybase製品ではそのような方法で作成されたキーを認識しません。 データベースを作成する際に使用するDDLを検査し、データベースでこれらのストアドプロシージャを使用するかどうかを決定します。
CREATE TABLE dbo.U_LBX_ADVICE ( advice_key smallint NOT NULL, <PAYMENT_KEY file_key smallint NOT NULL, batch_key smallint NOT NULL, line_no varchar(20) NULL, item_paid_id varchar(20) NULL, item_paid_amount money NULL ) go EXEC sp_primarykey \qdbo.U_LBX_ADVICE\q, advice_key,payment_key,file_key,batch_key
プライマリキーを作成する新しいSybase Adaptive Server Enterprise形式は、CREATE TABLE構文の一部です。
create table U_LBX_ADVICE ( advice_key smallint not null, payment_key smallint not null, file_key smallint not null, batch_key smallint not null, line_no varchar(20) null, item_paid_id varchar(20) null, item_paid_amount money null, constraint PK_U_LBX_ADVICE primary key (advice_key, payment_key, file_key, batch_key) )
テーブルがすでに存在しており、CREATE TABLEステートメントでテーブルを再作成できない場合は、次のようにALTER TABLEを使用します。
ALTER TABLE dbo.U_LBX_ADVICE ADD CONSTRAINT newprimarykey PRIMARY KEY NONCLUSTERED (advice_key,payment_key,file_key,batch_key)
外部キーでは、テーブル同士の関係を定義します。 外部キーの問題は、すでに説明したプライマリキーの問題と非常に類似しています。 SybaseのjConnectは、古いSystem 10フォーマットでsp_foreignkeyを使って作成した外部キーを認識しません。 これは外部キーを作成する古いスタイルのDDLです。
exec sp_foreignkey dbo.U_LBX_ADVICE, dbo.U_LBX_BATCH, file_key, batch_key
ALTER TABLE dbo.U_LBX_ADVICE ADD CONSTRAINT myforeignkey FOREIGN KEY (file_key,batch_key) REFERENCES sqlfinar1.dbo.U_LBX_BATCH (file_key,batch_key) go
Sybase PowerDesignerツールを使用すると、データベースを作成するDDLを新しいフォーマットにアップデートすることができます。 このツールを使用するには、データベースのバックアップを作成してから次の手順に従います:
jConnectストアドプロシージャが正しくインストールされておらず、問題が検出されていない場合は、データベースを追加する際に問題が発生する可能性があります。
jConnectが正しくインストールされていることを確認するために行います。
jConnectが正しくインストールされているかどうかを判別する別の方法は、「サンプルのjConnectアプリケーション」を実行することです(サンプルがインストールされていることを確認してください)。 classes\sampleディレクトリが存在することを確認してください) DOSプロンプトで次のように入力します。
set CLASSPATH=installDir\jConnect-version\classes java sample.SybSample Validate -U sa -P password -S jdbc:sybase:Tds:servername:port
set CLASSPATH=installDir\jConnect-version\classes\jconn2.jar java sample2.SybSample Validate -U sa -P password -S jdbc:sybase:Tds:servername:port
これらのコマンドによって、さまざまなjConnectサンプルを起動させることのできるアプリケーションが開始されます([File/Open Sample]をクリックします)。
|
インストールガイド 05/21/03 11:48:11 |
Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.