12

私のニーズ

Delphi/C++Builder XE2 を使用しています。

少なくとも次のDBMSにアクセスする必要があります。

  • 火の鳥
  • DB2/400
  • SQLサーバー
  • SAP HANA (新しいインメモリ DB、利用可能なインターフェース: JDBC、ODBC、ODBO、SQLDBC)

データベース対応のビジュアル コントロールでデータを表示および編集する必要があります。データはこれらの DBMS のいずれかに置くことができます。外部テキスト ファイルで接続プロパティと SQL ステートメントを構成します。

そこで、古い Paradox テーブルのように、そのような DBMS をサポートし、優れたパフォーマンスを持つデータベース アクセス用のコンポーネント セットを探しています。

私の推測

  1. ODBC を使用すると、ネイティブ ドライバーを使用するよりもパフォーマンスが低下します。本当なら、どうすればこの問題を克服できますか?
  2. ODBC を介しても、HANA インメモリ DB のパフォーマンスは優れています (今はテストできません)。

これまでに見つけたもの

  • BDE (ボーランド データベース エンジン) (TDatabase,TTable...)

    非推奨。

  • DBX (エンバカデロdbExpress ) ( TSQLConnection, TSQLTable...)

    BDE、単方向データセットを置き換えます (カーソルは先に進むだけです。データをメモリにバッファリングしません。そのようなデータセットは DBGrid に表示できません。dbExpress を使用してユーザー インターフェイスを構築するには、さらに 2 つのコンポーネントを使用する必要があります:TDataSetProviderおよびTClientDataSet)

    ネイティブ ドライバー (HANA にはなし) または ODBC を使用します。

  • FireDAC (Embarcadero Fire Data Access Components) (TADConnectionTADTable...)

    AnyDACの続きです。ネイティブ ドライバー (HANA にはなし)、ODBC、または dbExpress を使用します。

  • UniDAC (Devart Universal Data Access Components)

    無料ではありません; ネイティブ ドライバー (HANA にはなし)、ODBC、または「DB クライアント」を使用します。

  • DA (Delphi の RemObjectsデータ アブストラクト)

    無料ではありません。

  • ZDBC (Zeos データベース接続インターフェース) (TZConnectionTZQuery...)

    オープンソース; Object Pascal への JDBC のポートとして開始されました。は、データベース対応のビジュアル コントロールとのバインディングを提供しません。

  • dbGo (エンバカデロ dbGo) (TADOConnection,TADOTable...)

    ADO を実装します (したがって、ODBC を介した OLE DB を介して)。クエリで同じ名前のパラメーターを繰り返すなど、多くの癖があります。

  • Jv BDE ( TJvQuery, TJvBDESQLScript...)

    対応する標準ライブラリの強化。

  • Jv データ アクセス ( TJvADODatasetTJvADOQuery...)

    対応する標準ライブラリの強化。

(このリストを自由に拡張してください)

したがって、私の選択は次のとおりです。

  • dbExpress または FireDAC: Embarcadero は将来どこに行きますか?
  • dbGo: ADO は良い選択ですか? ODBCに依存しているようですが、パフォーマンスはどうですか?
  • UniDAC や Data Abstract のような商用製品: 必要ですか? それは良いでしょうか?
4

5 に答える 5

-2

多くのスレッドには多くの誤解があるので、私は 2 セントを与えようとします。問題は、私たち Delphian が考えていたことですexecutables。そのため、データを移動する方法を探します (特に、データベースとアプリケーション サーバーが外部でホストされている場合)。これらのシナリオはRIAアプリケーションに勝るものはありません。データを移動するのではなく、単に画面を表示するだけだからです。もう 1 つの誤解は、 が とTDATASETうまく機能しないということAJAXです。でいくつかのUNIGUI例を参照してくださいyoutube。ところで、ORMではなく、通常DataSnapのを使用しています。clientdataset

于 2016-07-12T23:34:41.903 に答える