【问题标题】:Methods for interacting with a Pervasive SQL database与 Pervasive SQL 数据库交互的方法
【发布时间】:2010-09-29 04:06:12
【问题描述】:

我正在开发服务业务管理应用程序的 Web 界面,该应用程序使用 Pervasive SQL 数据库来存储信息(顺便说一句,这不是我的选择)。目前,我正在使用带有一组自定义查询生成类的官方 Pervasive SqlClient 实现,因此我可以编写如下代码:

new SelectQuery().From("CUSTOMER").Fields("CUSTOMERNBR", "NAME");

到目前为止它运行良好,但我在这里和那里遇到了一些小问题。与其继续朝着这个方向前进,我更愿意使用经过验证的 DAL。但是,我在找到可以与 Pervasive 数据库交互的 DAL 系统时运气不佳。

Opf3 有一个 Pervasive 存储提供程序,但我以前从未听说过该框架,并且该网站仅显示 Pervasive v8 徽标,而我需要可以与 v9.5 以及未来 v10 一起使用的东西。

我尝试编写 NHibernate 提供程序,但结果比我当前的查询生成系统更令人头疼。

你有什么建议?我的时间线很匆忙,所以我想要一些可以尽可能容易集成的东西。

【问题讨论】:

    标签: c# orm data-access-layer pervasive


    【解决方案1】:

    Pervasive.SQL 有一个非常可靠的 ADO 适配器,并且在大多数情况下都优于 ODBC;我已经成功使用了 if 多年,但并非没有 Pervasive 的语法令人头疼。在 Pervasive 的辩护中,他们的关系引擎确实符合 SQL-92 和大部分 SQL-99。

    我很好奇的是你对语法的哪些部分有问题,是什么导致你的悲伤?

    您使用的是什么版本的 Pervasive 引擎?

    【讨论】:

    • 我正在使用 Pervasive v9.5(目前我们的桌面应用程序支持的唯一版本)。语法问题主要来自希望使用 LIMIT 而不是 TOP 或括号而不是引号的 ORM 系统。不过,OPF3 的 PSQL 提供程序解决了这些问题,而且效果很好。
    【解决方案2】:

    您应该能够从 Pervasive 中找到 ODBC 驱动程序 - 它们必须是可靠的,否则 Pervasive 现在将停业。大多数更高级别的抽象软件可以处理 ODBC 级别的数据。我认为这将是你最好的选择,如果你觉得你真的需要比 ODBC 本身进一步抽象它。

    【讨论】:

    • 这个问题是 DAL/ORM 需要知道 Pervasive-specific SQL 语法。这就是我在使用 NHibernate 时遇到的问题。它可以很好地使用 Pervasive SqlClient,但我在尝试让 NHibernate “说” PSQL 的语言时遇到了问题。
    • ODBC 应该提取出普遍的异常——这就是它的用途。它在通用 SQL 上运行。
    • 许多小企业所依赖的产品并不是任何人都认为可靠的,但企业仍然依赖它们,因此他们能够继续经营下去。一般来说,虽然 ADO 库会比 ODBC 更好地工作并且更便携。
    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多