ENGLISH

Micro Focus Visual COBOL
for Windows

Micro Focus Visual COBOL for Windows から PSQL v11 を使用

概要

Micro Focus 社の Visual COBOL for Windows は、同社の以前の COBOL 製品 Net Express 5.1 に実装されていた Btrieve プログラミング機能が廃止されました。

廃止された Btrieve プログラミング機能の代わりに Visual COBOL for Windows で Btrieve データファイルを扱える方法をご紹介します。また、現行製品の PSQL v11 では、32bit と 64bit の ODBC ドライバー、ADO.NET アプリケーションのための Pervasive PSQL Provider も提供していますので、これらについてもご紹介します。


前提環境

開発環境: Visual Studio 2010 + Visual COBOL for Windows
データベース環境: PSQL v11 SP1 以降
※Btrieve ファイルは PSQL v10 以前の古い PSQL データベース製品で作成されていてもかまいません。

1. Native COBOL アプリケーションから Btrieve オペレーションの実行

Native COBOL アプリケーションは 32bit または、64bit の Windows ネイティブ・アプリケーションです。
(NET Framework 上で動作する Managed アプリケーションではありません。)
廃止された Btrieve プログラミング機能の代わりに弊社が作成した言語インタフェースを使用することで、PSQL v11 の Transactional Engine を呼び出し、Btrieve オペレーションを実行することができます。
Btrieve オペレーションの呼び出しは、CALL “_BTRV” で行います。

Ex.)
MOVE 0 TO B-BUF-LEN.
MOVE “AGTECH.BTR” TO B-KEY-VALUE.
CALL “_BTRV” USING B-OPEN, B-STAT, B-POS-BLOCK, CUST-REC,
    B-BUF-LEN, B-KEY-VALUE, B-OPEN-MODE.

CALL “_BTRV” で使用するパラメーターは、PSQL SDK 「Btrieve API Guide マニュアル」の「Btrieve API 関数のパラメーター」に掲載されているものになります。
CALL “_BTRV” のパラメーターと Btrieve オペレーションについて詳しくは、「Btrieve API Guide マニュアル」をご覧ください。
このマニュアルは次のページで公開しております。

https://www.agtech.co.jp/products/actian/docs_portal/Zen/15.0/index.html#page/btrieveapi%2Fbtrieveapititle.htm

言語インタフェースは、32bit 用は .obj ファイルまたは .dll ファイルで、64bit 用は .dll ファイルで提供されます。ソースコードは 32bit と 64bit で相違はありません。
Visual COBOL for Windows では、言語インタフェースの .obj ファイルまたは、.dll ファイルのインポートライブラリの .lib ファイルをリンクし、エントリーポイント “_BTRV” を静的に解決します。
コンパイラの追加指令で “LITLINK” オプションを指定します。サンプル COBOL ソースファイルやコンパイル・リンク時の注意事項は、弊社から提供する言語インタフェースに含まれます。

この言語インタフェースは、COBOL SDK for Zen / PSQL ページでご提供しております。

2. Native COBOL アプリケーションから Pervasive ODBC データソースの使用

PSQL v11 では、32bit と 64bit の ODBC ドライバーを提供しています。この ODBC ドライバーで定義した ODBC データソースは、Visual COBOL for Windows の OpenESQL から使用できることを確認しております。DBMAN=ODBC を設定し、接続先に Pervasive PSQL v11 の ODBC データソース名を指定します。

Ex.)
$SET SQL(DBMAN=ODBC)
working-storage section.
    EXEC SQL INCLUDE SQLCA END-EXEC.
        (途中省略)
    EXEC SQL CONNECT TO ‘DEMODATA’ END-EXEC.
    EXEC SQL
        SELECT ID, First_Name, Last_Name INTO :pid, :pFirstName,
        :pLastName
            FROM Person
                WHERE ID = ‘104101361’
    END-EXEC

ソースコードは 32bit と 64bit で相違はありません。
OpenESQL について詳しくは、Visual COBOL for Windows のマニュアルご覧ください。

3. Managed COBOL アプリケーションから Pervasive PSQL Provider の使用

Pervasive SQL v11 では、.NET Framework (バージョン2.0, 3.0, 3.5, 4) で動作する Managed アプリケーションで使用できるデータプロバイダーとして、Pervasive PSQL Provider 3.2 および 3.5 を提供しています。
Micro Focus ADO.NET Connector Editor で Pervasive PSQL Provider を選択し、Server DSN プロパティを指定して、データソース名を定義します。このデータソース名を OpenESQL から使用できることを確認しております。
COBOL ソースでは、DBMAN=ADO を設定し、接続先に ADO.NET Connector Editor に定義したデータソース名を指定します。

Ex.)
$SET SQL(DBMAN=ADO)
    working-storage section.
        EXEC SQL INCLUDE SQLCA END-EXEC.
            (途中省略)
    EXEC SQL CONNECT TO ‘DEMODATA’ END-EXEC.
    EXEC SQL
        SELECT ID, First_Name, Last_Name INTO :pid, :pFirstName,
        :pLastName
            FROM Person
                WHERE ID = ‘104101361’
    END-EXEC

ソースコードは 32bit と 64bit で相違はありません。
OpenESQL について詳しくは、Visual COBOL for Windows のマニュアルご覧ください。

まとめ

Micro Focus 社の Visual COBOL for Windows では、Btrieve プログラミング機能が廃止されましたが、弊社から提供の言語インタフェースを使用しての Btrieve レベルのアクセス、Visual COBOL の OpenESQL を使用しての SQL レベルのアクセスを行うことができ、過去に作られた Btrieve ファイルを無駄にすることはありません。
今後も Visual COBOL と PSQL 製品との組み合わせによる開発・運用を行うことができます。

Micro Focus Visual COBOL と PSQL v11 動作確認一覧表

  32 bit COBOL アプリケーション 64 bit COBOL アプリケーション
Native
(Win32 AP)
Managed
(.NET AP)
Native
(Win64 AP)
Managed
(.NET AP)
Pervasive Transactional Engine (Btrieve) を呼び出す AP (Native AP) *1 AG-TECH から提供の 32bit COBOL 用言語インタフェースを使用 *2 使用不可 AG-TECH から提供の 64bit COBOL 用言語インタフェースを使用 *2 使用不可
Pervasive PSQL ODBC データソースを使用する AP PSQL v11 に同梱の 32bit ODBC ドライバーが使用可能 *3
OpenESQL の DBMAN=ODBC を使用
PSQL v11 に同梱の 32bit ODBC ドライバーが使用可能 *3
OpenESQL の DBMAN=ADO を使用
ADO.NET Connector Editor で Data Provider for ODBC を選択し、ODBC データソースを指定
PSQL v11 に同梱の 64bit ODBC ドライバーが使用可能 *3
OpenESQL の DBMAN=ODBC を使用
PSQL v11 に同梱の 64bit ODBC ドライバーが使用可能 *3
OpenESQL の DBMAN=ADO を使用
ADO.NET Connector Editor で Data Provider for ODBC を選択し、ODBC データソースを指定
Pervasive PSQL Provider を使用する AP (Managed AP) 使用不可 ・PSQL v11 に同梱の Pervasive PSQL Prodiver が使用可能
OpenESQL の DBMAN=ADO を使用
ADO.NET Connector Editor で Pervasive PSQL Provider を選択し、Server DSN を指定
使用不可 PSQL v11 に同梱の Pervasive PSQL Prodiver が使用可能
OpenESQL の DBMAN=ADO を使用
ADO.NET Connector Editor で Pervasive PSQL Provider を選択し、Server DSN を指定

*1: CALL “_BTRV” で Btrieve を呼び出すアプリケーションです。
*2:COBOL SDK for Zen / PSQL ページでご提供しております。
*3: 32bit PSQL v11 には、32bit の ODBC ドライバーが、64bit PSQL v11 には、32bit と 64bit の両方の ODBC ドライバーが含まれます。

Contactお問い合わせ

お気軽にお問い合わせください。

お問い合わせ

    必須会社名

    個人のお客様は「個人」と入力してください。

    必須お名前
    必須メールアドレス
    必須メールアドレス(確認)
    必須ライセンス ありなし
    ダウンロード目的