Btrieve Classes for .NET
Btrieve API の.NET 開発ツール
Microsoft Visual Studio 2010 に対応!
64-bit アプリケーションと LINQ を完全サポート!
Btrieve Classes for .NET は、Btrieveアプリケーションの .NET 環境への移行や、Btrieve オペレーションによる .NET アプリケーションの開発を行うためのツールです。
Btrieve/Pervasive への特化に加え、C++ アンマネージドコードからの Btrieve API の直接呼び出しにより、通常の ADO.NET と OLE DB provider との組み合わせと比べて、圧倒的なパフォーマンスを実現します。
Btrieve/Pervasive データベースエンジンをご利用のお客様
新しい環境への移行時のパフォーマンスの低下や作業効率を向上させるならBtrieve Classes for .NET で解決
- ADO.NET + Pervasive OLE DB Provider のパフォーマンスに不満がある。
- .NET の構造体の定義方法が複雑で途中でイヤになった。
- Btrieve API で構築された多くの業務ロジックがあり SQL DB には移行が困難だが .NET 環境に移行が必要。
- 細かいロック制御が必要なデータ構造になっていて SQL DB でトランザクション化した場合パフォーマンスが出ない。
- .NET Web アプリケーションでも Btrieve オペレーションでコードをガンガン記述したい。
- C# 等の新しい言語でも Btrieve オペレーションでコードをバリバリ記述したい。
- Btrieve 拡張オペレーションのパフォーマンスにより成り立っているアプリがあり SQL ではパフォーマンスが出なかった。
パフォーマンス
パフォーマンス比較表
Pervasive.SQL V8.6 の person 表の First_Name カラムの値を全てリスト・ボックスに表示するC# アプリケーションを作成し、 パフォーマンスの比較をしました。当製品のパフォーマンスが約3~20倍と圧倒的です!
| Access Method |
1st |
2nd |
コード |
| ADO.NET + Pervasive OLE DB provider |
12s |
10s |
code1 |
| Btrieve classes record object |
4s |
2s |
code2 |
| Btrieve classes extended object |
4s |
380ms |
code3 |
(注) 2nd の値はキャッシュ効果で短縮されています。
なぜパフォーマンスが良いのか?
ADO.NET + OLE DB provider の場合ソフトウェア層が厚い事がパフォーマンス的に不利な状況の原因と思われます。 COM を使ったモジュールがソフトウェア層に入る場合 RPC ベースのマーシャリングのオーバーヘッドは大きいと推測します。
当製品のライブラリは C++ アンマネージド・コードから直接 Btrieve API を呼び出す形式でソフトウェア レイヤーは非常に薄い構成です。マネージド・データへの変換はデータ転送量が少なくなるように最適化されたコードを採用しています。 C++ で記述しているのは C# 等のジェネリックなマーシャリングよりも細かくマーシャリングを制御してパフォーマンスを確保することが出来るからです。
また、ADO.NET や OLE DB provider は複数種類のデータベースに対応するために多くの機能や仕様が追加されているのですが弊社ライブラリは Pervasive/Btrieve に特化しているためそのような一般化のためのコードが無いことがこのパフ ォーマンスを生み出していると考えます。
バージョン 3 と 4 の新機能について
Btrieve Classes for .NET 4.0 では新たに以下の新機能を追加しました。
- Pervasive PSQL v11 サポート
- Visual Studio 2010 サポート
Btrieve Classes for .NET 3.0 では新たに以下の新機能を追加しました。
- LINQ サポート
.NET Framework 3.5 の LINQ で Pervasive PSQL データを参照するメソッドが追加されました。
こちらがサンプルコードです。
- Pervasive PSQL Summit v10 サポート
- Visual Studio 2008 サポート
- 64-bit アプリケーションサポート
ストラクチャービルダー
| .NET 言語では VB6 では出来なかった構造体メンバーのアライメント設定が可能となりましたが、 その定義方法は多くの属性を定義しなければならないものです。最初に定義サンプルを見たときにはこれは何かの間違いではないかと思った程複雑なものです。 実際にこの構造体をコードして定義するのはカラム数、テーブル数が増加するほど非常にワークロードを必要とすることを実際にアプリケーションを作成してみて実感 しました。 特にヌルフラグ分の領域確保を間違えたバグを探すのにも時間がかかります。 このような状況を踏まえてバージョン 1.10 よりストラクチャービルダーという Microsoft Visaual Studio.NET 用のアドインを添付いたしました。このツールにより、 指定した DDF/テーブルに関連する構造体を自動生成してソースコードに簡単 に挿入することが出来ます。構造体定義は言語により微妙にフォーマットが違っています。 今回のバージョンでは C# と VB.NET に対応しています。 |
|
 |
3系統のクラス
当製品では3系統のクラスをご用意いたしました。お客様の状況に合わせてご選択いただけます。
- Compat Class
株式会社テクナレッジ製品 VBMan ActiveX Controls for Btrieve のメソッドとコンパチブルなメソッドを提供するクラスです。 既存の VBMan アプリケーションを .NET 環境に少ないワークロードで移行する場合にご利用ください。 エラー・コード等も VBMan と互換性がございます。
- DDF class
.NET Framework の仕様に添って設計された新しいクラス群です。Record/Extended/Transaction/Exception 等のクラスで構成されます。カラム等へのアクセス、データ型の変換コードもスマートに記述することが出来ます。設計が新しい分、開発効率はこのクラスが優れています。
- Native class
当クラスでは Btrieve API 呼出しをマネージド・コードから可能としました。既存のアプリケーションに DDF が無い場合や、既存の Btrieve API で作成したコードを移行したい場合等にご利用ください。ご存知のように Btrieve API はパラメータの多く、レコードバッファからアプリケーション・データへの取出しや、格納するコードが必要になるため、アプリケーション・コードは煩雑になります。
製品の特長
- .NET Framework クラスライブラリです。
- C#、VB.NET 等の言語から Btrieve データベースを簡単に利用可能とするクラスライブラリです。
- Windows アプリ、Web アプリ両方に対応しています。
- データは Shift-JIS 漢字コードに自動変換して入出力します。
- Extended クラスは最高のパフォーマンスでデータを検索することが可能です。
- DataSet オブジェクト作成もメソッド呼び出し1行で可能です。グリッドにデータを表示するコードもこんなに簡単です。
- ライブラリ自体は Btrieve 呼び出しのオーバーヘッドを最小にするために C++ で記述されています。
- .NET クラスライブラリから可能になったオーバーロード等を利用し使いやすい設計。
- True Nullable カラム対応。
- .NET でもサポートが始まった Int64<->BigInt データ型(8byte integer)対応。
- VB.NET/C# サンプルを添付。(Web 及び Windows アプリケーション)
- ランタイム・ライセンス・フリー。
- V1.2 より Pervasive.SQL V8.6 の新セキュリティモデルに従ったデータベースをアクセス可能です。LogIn メソッド等を追加しました。
対応データベース
【注意】
※ 製品に Pervasive データベースエンジンは含まれておりません。
ご利用の場合には、別途ご購入いただく必要があります。
※ 上記はエンジンのバージョンで MicroKernel(Btrieve)ファイルのバージョンではありません。
対応 IDE および言語
- Microsoft Visual Studio 2010
- Microsoft Visual Studio 2008
- Microsoft Visual Studio 2005
- Microsoft Visual Basic .NET
- Microsoft Visual C#
- Microsoft Visual J#
【注意】
Microsoft Visual Studio .NET 2003 以前の Microsoft Visual Studio .NET はサポートしておりません。
ドキュメント(マニュアル)
Btrieve Classes for .NET 4.0 プログラミングマニュアル
マニュアルダウンロードはこちら
販売価格
| 製品名 |
バージョン |
税抜きメーカー希望小売価格(円) |
| 製品番号 |
価格 |
| Btrieve Classes for .NET |
4.0 |
TKB1-03-1-01 |
88,000 |
| Btrieve Classes for .NET Upgrade ※ |
4.0 |
TKB1-03-1-02 |
48,000 |
(※) Upgrade 製品は弊社法人ストア 「法人e-Shop」 のみでの取り扱いとなっております。Btrieve Classes for .NET 3.0から4.0への無償アップデートはこちらからダウンロード可能です。