2

我在 ASP.NET 中有一个带有 postgreSQL 数据库的项目。我不知道哪种连接类型更好。一方面我在 ODBC 我们有服务器资源管理器(拖放 gridview),另一方面它不是独立的应用程序层和逻辑层。请问哪种连接类型更好 ODBC 或 NpgSQL,为什么?

关于我的项目的一些事情:

  • 使用 master.page 的应用程序 ASP.NET,
  • 具有 18 个表和 4 m:n 约束的数据库 PostgreSQL(认为这很难),
  • 应用程序必须生成 pdf、xml 等...
4

1 回答 1

7

一般来说,我会选择纯 .NET 解决方案而不是 ODBC。我对 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 回答