3

私はFirebirdSQLを10年間使用していますが、MSSQL2008を使用したいというお客様がいます。これで炎上戦争を始めたくはありません。データアクセステクノロジについてのアドバイスが欲しいだけです。

DelphiMMVIを使用しています。

ネイティブADOまたはDBExpressを使用しますか?第三部を使用しますか?

他に知恵の言葉はありますか?

ありがとう、

はい、プロシージャ、トリガーを書き直す必要があることを知っています。私はこれが価値があることを願っています...

4

7 に答える 7

7

私はSQLDirectコンポーネントを毎日使用していますが、AnyDACは人気があり、十分に開発されたソリューションのようです:http ://www.da-soft.com/anydac/

于 2009-11-26T13:52:57.693 に答える
7

データベース コンポーネントについては、 DevArt (CoreLab)からのコンポーネントよりも高速で安定したコンポーネントを見たことがありません。

それらには、UniDacユニバーサル ダイレクト アクセス コンポーネントがあり、(Oracle、SQL Server、MySql、InterBase/Firebird、PostgreSql、および ODBC (DB2、Sybase MS Access およびその他の ODBC を提供します)) をサポートします。

于 2009-11-26T14:16:49.610 に答える
3

アドバンテージデータベースサーバーを使用してプログラムを作成し、adoコンポーネントを使用して非常に簡単にMSSQLに切り替えました。udlファイルを使用してodbc接続を指定し、2つの異なるデータベースタイプを比較的簡単に切り替えることができます。単純なデータベース接続(単純なSQLステートメントやテーブルなど)を使用している限り、切り替えにそれほど問題はありません。プロシージャとトリガーを定期的に使用すると、さらに困難になる可能性があります。ただし、dbexpressの経験がないため、比較する方法がわかりません。

于 2009-11-26T13:43:00.210 に答える
1

確実にする必要があるのは、どのソリューションを使用する場合でも、必要なデータベースと、将来サポートする必要がある可能性のあるデータベースのドライバーが含まれていることです。

最近まで、ODBCExpressを使用していました。これはODBCをDelphi TDataSetコンポーネントにラップするのに非常に優れており、もちろん、実行中のすべてのデータベースにはODBCドライバーがあります。残念ながら、この製品はDelphi 2009のUnicodeでサポートされなくなったため、Delphi 2006では問題ありませんが、ある時点で新しいバージョンのDelphiに移行する場合は問題ありません。元の開発者の助けを借りて、D2009に移行しようとしていると言っています。

したがって、ほとんどのデータベースにもADOドライバーがあり、最近ではdbGoコンポーネントを介してDelphiの一部になっているため、ADOは当然の選択です。しかし、dbExpressは人気があり、好評を博しているように思われます。選択したデータベースを完全にサポートするdirversがある限り、これが最も人気のある選択肢のようです。

于 2009-11-26T14:14:41.923 に答える
1

DBExpressをお勧めします。

于 2009-11-26T13:33:39.107 に答える
1

DBExpress for SQL とDOA for oracle で非常に良い経験をしました。Oracle を使用している場合は、DOA が最適です (BDE や ADO よりもはるかに高速です)。

于 2009-11-26T13:38:58.657 に答える
1

私にとって、MS SQL には ADO が最適です。これはマイクロソフトによって開発され、非常に安定しています。よりネイティブなアプローチに時間を費やすこともできますが、ADO で構築された私のプロジェクトでは、さまざまなバージョンの MSSQL Server をサポートするために多くの変更を (もしあれば) 必要としないことがわかりました。ADO は ODBC ドライバーもサポートしているため、レガシー データベースにもアクセスできます。コンマで区切られたファイルを取得し、ADO を使用してテーブルであるかのようにクエリを実行することもできます (ただし、すべてのクエリが完全なテーブル スキャンになるため、パフォーマンスは低下します)。

于 2009-11-30T17:17:35.937 に答える