私はFirebirdSQLを10年間使用していますが、MSSQL2008を使用したいというお客様がいます。これで炎上戦争を始めたくはありません。データアクセステクノロジについてのアドバイスが欲しいだけです。
DelphiMMVIを使用しています。
ネイティブADOまたはDBExpressを使用しますか?第三部を使用しますか?
他に知恵の言葉はありますか?
ありがとう、
はい、プロシージャ、トリガーを書き直す必要があることを知っています。私はこれが価値があることを願っています...
私はFirebirdSQLを10年間使用していますが、MSSQL2008を使用したいというお客様がいます。これで炎上戦争を始めたくはありません。データアクセステクノロジについてのアドバイスが欲しいだけです。
DelphiMMVIを使用しています。
ネイティブADOまたはDBExpressを使用しますか?第三部を使用しますか?
他に知恵の言葉はありますか?
ありがとう、
はい、プロシージャ、トリガーを書き直す必要があることを知っています。私はこれが価値があることを願っています...
私はSQLDirectコンポーネントを毎日使用していますが、AnyDACは人気があり、十分に開発されたソリューションのようです:http ://www.da-soft.com/anydac/
データベース コンポーネントについては、 DevArt (CoreLab)からのコンポーネントよりも高速で安定したコンポーネントを見たことがありません。
それらには、UniDacユニバーサル ダイレクト アクセス コンポーネントがあり、(Oracle、SQL Server、MySql、InterBase/Firebird、PostgreSql、および ODBC (DB2、Sybase MS Access およびその他の ODBC を提供します)) をサポートします。
アドバンテージデータベースサーバーを使用してプログラムを作成し、adoコンポーネントを使用して非常に簡単にMSSQLに切り替えました。udlファイルを使用してodbc接続を指定し、2つの異なるデータベースタイプを比較的簡単に切り替えることができます。単純なデータベース接続(単純なSQLステートメントやテーブルなど)を使用している限り、切り替えにそれほど問題はありません。プロシージャとトリガーを定期的に使用すると、さらに困難になる可能性があります。ただし、dbexpressの経験がないため、比較する方法がわかりません。
確実にする必要があるのは、どのソリューションを使用する場合でも、必要なデータベースと、将来サポートする必要がある可能性のあるデータベースのドライバーが含まれていることです。
最近まで、ODBCExpressを使用していました。これはODBCをDelphi TDataSetコンポーネントにラップするのに非常に優れており、もちろん、実行中のすべてのデータベースにはODBCドライバーがあります。残念ながら、この製品はDelphi 2009のUnicodeでサポートされなくなったため、Delphi 2006では問題ありませんが、ある時点で新しいバージョンのDelphiに移行する場合は問題ありません。元の開発者の助けを借りて、D2009に移行しようとしていると言っています。
したがって、ほとんどのデータベースにもADOドライバーがあり、最近ではdbGoコンポーネントを介してDelphiの一部になっているため、ADOは当然の選択です。しかし、dbExpressは人気があり、好評を博しているように思われます。選択したデータベースを完全にサポートするdirversがある限り、これが最も人気のある選択肢のようです。
DBExpressをお勧めします。
DBExpress for SQL とDOA for oracle で非常に良い経験をしました。Oracle を使用している場合は、DOA が最適です (BDE や ADO よりもはるかに高速です)。
私にとって、MS SQL には ADO が最適です。これはマイクロソフトによって開発され、非常に安定しています。よりネイティブなアプローチに時間を費やすこともできますが、ADO で構築された私のプロジェクトでは、さまざまなバージョンの MSSQL Server をサポートするために多くの変更を (もしあれば) 必要としないことがわかりました。ADO は ODBC ドライバーもサポートしているため、レガシー データベースにもアクセスできます。コンマで区切られたファイルを取得し、ADO を使用してテーブルであるかのようにクエリを実行することもできます (ただし、すべてのクエリが完全なテーブル スキャンになるため、パフォーマンスは低下します)。