Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報
トップ  >  その他のオープンとのDBアクセス機能

その他のオープンとのDBアクセス機能

1 OpenDatabaseAccessKitとは

OpenDatabaseAccessKitとは、A−VX側のプログラムから、直接オープンデータベース(Oracle Database、SQL Server)へアクセスするものです。

DBレプリケーション機能は、一旦A−VX/RDB側にデータを入れて、そこからオープンデータベースに複製していました。そしてA−VX/RDBからオープンデータベースへの片側しか複製を行わないため、オープンデータベースに直接書き込んだデータはA−VX/RDBに反映されませんでした。

OpenDatabaseAccessKitは、A−VX側から直接オープンデータベースに書き込みや読み込みを行います。このため、A−VX側からもオープンシステム側からも書き込みや読み込みを行うことができます。

DBレプリケーション機能はA−VXの標準機能ですが、OpenDatabaseAccessKitは別売りのA−VXのオプション製品です。結構高価です。

2 OpenDatabaseAccessKitの仕組み

1.OpenDatabaseAccessKitでは、A−VXのアプリケーションは、A−VX/RDBにアクセスするのと同じ方法でOrale Databaseのデータにアクセスします。

もし、データベースだけをOracle Databaseにして、A−VXのアプリケーションをそのまま使用したいのなら、アプリケーションは改造する必要はありません。

やるのは、環境設定ツールで、A−VX/RDBの表のある列を使用したら、Oracleのどのテーブルのどの列を使用するのか、対応付けするだけ。(たくさん表があると、これだけでも結構大変そうですが・・・。)

2.A−VXのアプリケーションが、A−DBにアクセスしようとすると、OpenDatabaseAccessKitが横取りして、対応付けしてあるOracle Databaseのテーブルをアクセスさせます。

3.A−VXのアプリケーションは、A−VX/RDBをアクセスしている気になっていますが、実はOpenDatabaseAccessKitが横取りして、Oracle Databaseをアクセスしています。そして、Oracle Database側のデータ検索結果が返ってきます。

A−VX側は、データベースの設定は必要ですが、データ自身(データの実体)は必要ありません。OpenDatabaseAccessKitがアクセスを横取りしてしまうので、A−VX/RDB側にはデータが入りません。

図では、わかりやすいようにデータベース(A−VX/RDBとOracle Database)を2台のサーバに分けています。が、Express5800/600シリーズ1台に2つのデータベースを入れることもできます。

OpenDatabaseAccessKitが、A−VX/RDBのアクセス状態を常に監視して、アクセスがあったら横取りして、オープンデータベースに書き込む・・・普通に考えて結構遅くなりそうですよね。実際、NECのOpenDatabaseAccessKitの説明書には、大量データ処理のバッチ処理には性能が出ないので、トランザクション処理向けですと書いてあります。

3 RDBサーバとは

RDBサーバは、ホストとクライアント上で動作する分散処理ソフトウェアで、クライアントからサーバのRDBのデータを直接参照/更新することができるようになります。

RDBサーバでホストというのはデータベースが入っている側のコンピュータのことで、オフコンのこともあれば、メインフレームのこともあります。パソコンにデータベースが入っていれば、パソコンがホストになることもできます。

クライアントはホストに接続してデータベースを参照/更新する方のコンピュータのことで、パソコンもクライアントになることができるし、オフコンもクライアント側になることができます。

オフコンがホスト、パソコンがクライアントの組み合わせが多いですが、オフコンがホスト、別のオフコンがクライアントという構成もアリです。ホストとクライアントがそれぞれパソコンという組み合わせもあります。

ここはオフコンの説明なので、オフコンがホスト、パソコンがクライアントの前提で話を進めます。この構成だとパソコンからオフコンのデータベースにアクセスすることができます。

オフコンでRDBサーバを使用するには、別売りのA−VX RDBサーバを購入してインストールします。パソコンには別売りのPC−RDBサーバ(通常はWindows版)をインストールします。オフコンとパソコンのRDBサーバ間で通信することによって、パソコンからオフコンのRDBにアクセスすることができるようになります。

パソコン側はクライアント側なので、「RDBクライアント」というものが必要なのではないかという人もいるかもしれませんが、そんなものはありません。両方ともRDBサーバです。

以下の表のようなRDBサーバがあります。(いにしえのものも書いているのはNECの説明書にいまだに載っていて面白いので書いてみました。)

コンピュータの種類RDBサーバ名主な機種
NECのオフコンA−VX RDBサーバシステム3100/A・システム7200、Express5800/600
パソコン
(MS-DOS PC)
PC−RDBサーバPC-9801・PC-H98・N5200・OP-98
その他MS-DOSの動くパソコン
パソコン
(OS/2 PC)
MS OS/2 RDBサーバPC-9801・PC-H98
OS/2が動くパソコン
パソコン
(Windows PC)
PC−RDBサーバ(Windows版)
PC−RDBサーバ(Windows xx 版)
PC-9801・PC-H98・N5200・OP-98
その他Windowsの動くパソコン
UNIXEWS RDBサーバEWS4800
PTOS/NTOS系PTOS RDBサーバN5200・システム3100/X・OP-98

RDBサーバを使ってRDBにアクセスする方法は2種類あります。1つはRDBサーバ対応の市販のソフトウェアを使う方法です。もう一つは自力でアプリケーションを作る方法です。

4 RDBサーバの概要

パソコンからPC−RDBサーバを使用するには、NEC独自のAPIを利用する方法とODBCを利用する方法があります。

RDBサーバ間の通信はTCP/IP接続を使用します。古くはDINAのCOM−XEとかTCP/IPのCOM−XE(inCOM-XE)という方法もありました。

接続方法によって、A−VXが使用するメッセージ管理が変わりますが、今はTCP/IP接続一択なので、メッセージ管理Sを使います。通信設定をもメッセージ管理Sで行います。

接続システム7200シリーズ以前Express5800/700シリーズ
Express5800/600シリーズ
ICP/IP接続メッセージ管理5メッセージ管理S
COM−XE(DINA)接続メッセージ管理3またはメッセージ管理5メッセージ管理3
COM−XE(TCP/IP)接続メッセージ管理5不可

自力でプログラミングする場合は、パソコン用COBOLを使って拡張READ/WRITE方式でプログラミングする方法もありますが、パソコンならばSQLでプログラミングするのが普通です。

昔はRDBサーバ対応の市販のソフトウェアはたくさんありました。有名なところでは、イースト社のSkylinkとかNECのHOLON/LB、LANシリーズなどがあります。
ODBC経由でいいなら使用できるアプリケーションはもっとたくさん増えます。AccessやExcelなど多くのアプリケーションが使用できました。