Contactお問い合わせ
お気軽にお問い合わせください。
Btrieve アプリの .NET 環境への移行、Btrieve API を使用した .NET 開発には必須のツール。
最新の .NET 環境( .NET Core 3.1、.NET 5 ~ 8、.NET Framework 4.7.2 ~ 4.8 )に対応!
【お知らせ】Btrieve Classes for .NET ver9.0 がリリースされました。評価版の申し込みはこちらから
C# や VB.NET を使用した開発で、プログラム上から Actian Zen のデータベースに
アクセスすることが簡単に行えるようになるクラスライブラリです。
当製品はランタイムフリーですので、開発したアプリケーションの配布をライセンス無しで行えます。
データベースにアクセスする際は、SQL ではなく高速な Btrieve API を経由する仕様であることから、
Actian Zen ADO.NET データプロバイダーを使用した場合に比べて、パフォーマンスが格段に向上します。
1)DDF class を使用すると、Btrieve データだけでなく、そのデータを定義した メタデータ ファイル(DDF)にもアクセスするため、新しいフィールドの追加など、データベース設計の変更にもコードの書き換えは必要ない場合がほとんどです。
2)DataSet オブジェクトの作成がメソッドの呼び出し1行で可能であり、例えばグリッドにデータを表示するようなコーディングも簡単に済みます。(サンプルコードはこちらから)
3)AddFields メソッドと FillAll メソッドの追加によって、Btrieve API の Extended オペレーションの使用がますます簡単になりました。さらに、BTRVEX API の拡張データバッファを使用することにより、データアクセスのパフォーマンスを向上させることができます。
※ 上記以外の主な機能については、機能比較表をあわせてご参照ください。
.NET の仕様に添って設計された新しいクラス群です。Record / Extended / Transaction / Exception 等のクラスで構成されています。カラム等へのアクセス、データ型の変換コードもスマートに記述することが出来ます。設計が新しい分、開発の効率性が非常に高いです。
株式会社テクナレッジの製品である VBMan ActiveX Controls for Btrieve のメソッドとコンパチブルなメソッドを提供するクラスです。 既存の VBMan アプリケーションを .NET 環境に少ないワークロードで移行する場合にご利用ください。 エラー・コード等も VBMan と互換性があります。
ご存知のように Btrieve API のパラメータは数多くあり、レコードバッファからのデータ抽出や、そのデータを格納するといった処理を実装すると、コードは煩雑になりがちです。当クラスでは、マネージド・コードから Btrieve API の呼出しが可能となるため、既存のアプリケーションに DDF が無い場合や、以前の環境から Btrieve のコードを .NET 環境に移行したい場合にご利用ください。
.NET 言語では VB6 では出来なかった構造体メンバーのアライメント設定が可能となりましたが、 その設定方法は多くの属性を定義しなければならないものです。最初に定義サンプルを見たときには、これは何かの間違いではないかと思うほど複雑なものです。
実際にこの構造体をコーディングして定義するのは、カラム数やテーブル数が増加するほど、非常に多くのワークロードが必要になると、実際にアプリケーションを作成してみて実感しました。 特にヌルフラグ分の領域確保を間違えたバグを探すのにも時間がかかります。このような状況を踏まえて、「ストラクチャービルダー」というツールが、Btrieve Classes for .NET には付属しています。
このツールにより、 指定した DDF/テーブルに関連する構造体を自動生成してコードに簡単 に挿入することが出来ます。構造体定義は言語により微妙にフォーマットが違っています。スタンドアローンバージョンと VSIX 対応の Visual Studio 2019/2022 用のアドインバージョンがあります。後者のアドインバージョンには、Entity Class を生成する機能が搭載されています。
【注意】
※ 製品に Actian Zen / PSQL データベースエンジンは含まれておりません。ご利用の場合には、別途ご購入いただく必要があります。なお、開発時には無償提供しております 開発用 Workgroup をご利用いただくことができます。
※ 上記はエンジンのバージョンで MicroKernel(Btrieve)ファイルのバージョンではありません。