2

postgreSQLデータベースを使用したASP.NETのプロジェクトがあります。どの接続タイプが良いのかわかりません。一方の ODBC にはサーバー エクスプローラー (グリッドビューのドラッグ アンド ドロップ) があり、もう一方の側には、ロジック レイヤーとは別のアプリケーション レイヤーではありません。ODBCまたはNpgSQLのどちらの接続タイプが優れているか、またその理由を教えてください。

私のプロジェクトについての何か:

  • master.page を使用したアプリケーション ASP.NET、
  • 18 個のテーブルと 4 つの m:n 制約を持つデータベース PostgreSQL (難しいと思います)、
  • アプリケーションはpdf、xmlなどを生成する必要があります...
4

1 に答える 1

7

通常、ODBC よりも純粋な .NET ソリューションを選択します。私は PostgreSQL 用のこれらのドライバーのどちらにも詳しくないので、このアドバイスは慎重に受け止めてください。いくつかの「一般的な」引数は次のとおりです。

  • .NET データ プロバイダーは ODBC よりも新しいテクノロジであるため、原則として、ODBC ドライバーよりも注目され、更新されます。もちろん、これはこの場合には当てはまりません (おそらく、PostgreSQL ODBC ドライバーの背後には盛んな開発者コミュニティがあります)。ただし、遭遇する可能性のある問題は、.NET データ プロバイダーでよりタイムリーに対処される可能性が高くなります。
  • 純粋な .NET データ プロバイダーを使用する場合、クライアント側のスタックは少し小さくなります。Npgsql が純粋な .NET ソリューションであることがわかりました。一方、ODBC ドライバーのスタックはより深くなります。呼び出しは、ODBC .NET プロバイダーを経由する必要があります。その後、ODBC ドライバー マネージャーへのアンマネージ呼び出しが行われ、その後、PostgreSQL ODBC ドライバーが呼び出されます。これが実際にパフォーマンスに影響を与えるかどうかは、アプリケーションと使用法によって異なります。
  • 純粋な .NET プロバイダーは、通常、特定のデータベース サーバー専用に作成されているため、より効率的です。対照的に、ODBC .NET プロバイダーは ODBC ドライバー マネージャーと連携する必要があり、バックエンドについて想定することはできません。

上記の説明は一般的なものであり、この特定のケースには当てはまらない可能性がありますが、おそらく検討する価値があることを繰り返します.

于 2011-06-02T22:34:00.433 に答える