その他のオープンとの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の動くパソコンUNIX EWS 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など多くのアプリケーションが使用できました。