【问题标题】:Delphi 2010 Professional and remote database accessDelphi 2010 Professional 和远程数据库访问
【发布时间】:2011-01-28 19:00:22
【问题描述】:

在寻找购买哪个版本的 Delphi 2010 时,我们发现专业版存在以下限制:

Delphi 2010 Professional 的设计 为开发人员构建 高性能桌面 GUI 和 触摸屏应用程序(或 没有)嵌入式和本地数据库 持久性。

这到底是什么意思?这是否意味着我们只有在选择使用原生 vcl 组件进行数据库访问时才会面临这个限制。

如果我们选择使用 ADO 组件而不是那些呢?这种情况下,Delphi如何避免我们访问远程数据库服务器呢?这里有人试过吗?

更进一步:如果我们选择使用像 Firebird 这样的数据库,它只是一个文件,并使用网络映射驱动器。我们会面临同样的限制吗?

假设我们选择 ADO,主要后果是什么?

【问题讨论】:

  • 请注意,在映射的网络驱动器上使用 Firebird 数据库可能不起作用。 Firebird 引擎将检测到它是一个映射驱动器,并尝试联系远程机器上的 enine 以连接到有问题的文件。如果远程机器上没有引擎,它会失败(注意:有一个选项可以覆盖此行为,但它可以保护自己)。
  • 如果使用 Firebird,您不得在本地安装引擎并使用共享文件。数据库文件必须由 一个 数据库引擎控制,该引擎将为多个 客户端 管理并发。我猜它会锁定文件并且不允许多个进程访问它,因为如果它被允许,它会损坏文件。

标签: database delphi delphi-2010


【解决方案1】:

这是否意味着我们只会面对 如果我们选择使用这个限制 数据库的本机 vcl 组件 访问我们将面临此限制。

是的。专业版只是省略了一些原生支持某些数据库的驱动程序和驱动程序技术。它仍然包含 ADO 支持,并且有大量第三方驱动程序可用于访问其他数据库。

Delphi 2010 不包含任何技术来阻止您构建与远程数据库交互的应用程序,除了它不包含 DB Express(它自己的数据库驱动程序技术)这一事实之外。

【讨论】:

  • 它与 7 版本的兼容性如何?这些 ADO 组件是否仍然适用于 2010?
  • Delphi 2010 中有一组原生的 Delphi 组件(称为 dbGo)。不确定何时引入。我将它们用于 MS Access,在这种情况下它们可以正常工作。
  • ADO Express 是在 Delphi 5 中引入的,在 Delphi 6 中更名为 dbGo。某种商标问题。
【解决方案2】:

据我了解,他们专门指的是 dbExpress,并不限制您使用 dbGo 或某些第三方库来访问远程数据库。

【讨论】:

  • 正确。出于未知和(恕我直言,愚蠢的,鉴于下面的替代方案)营销原因,Pro 附带只能连接到 localhost 的 dbExpress 驱动程序。只有司机是有限的 - 没有别的。您可以 1) 使用不受此限制的第三方驱动程序 2) 使用 ADO/ODBC 3) 使用 Direct Oracle Access、ODAC、Zeos、IBO 等第三方库。
  • 同意。我认为数据库功能的限制应该更少。
【解决方案3】:

DataSnap 也不包含在 Pro 版本中。我对最近的一次 Delphi 研讨会非常感兴趣,当时他们展示了 DataSnap,但当我回来时发现 Pro 版本中缺少它。

所以我又继续使用我的 SDAC 组件和其他第三方中间件组件。无需花费企业版即可完美运行。

不包括 SQL Server dbExpress 驱动程序(以及其他驱动程序),但 ADO/dbGo 的东西似乎在网络上工作得很好。但是自从 Delphi 3 以来我们没有使用 Delphi 提供的 DB 驱动程序,因为他们不断改变对 DB 访问的最新灵丹妙药的想法(就像 MS 做/做的那样)。

【讨论】:

  • 我认为在 Enterprise 及更高版本中具有多层功能是合理的。数据库限制似乎有点随意。
  • 也许是合理的——我还没有决定。真希望我在计划下一个主宰 datasnap 应用程序之前就意识到 :-)
  • Embarcadero 始终发布最新的功能矩阵,让您了解每个 SKU 中可用的内容。 embarcadero.com/products/delphi/Delphi-Feature-Matrix.pdf
  • 是的,我知道。我读了它/之后/我在我的 Delphi 副本中找不到任何 datasnap 组件!我只是很失望,因为这是研讨会中最好的部分。所以我认为在这个问题的背景下值得指出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-08
  • 2014-03-17
  • 1970-01-01
  • 2018-04-02
  • 2018-02-14
  • 2015-05-29
  • 2010-12-14
相关资源
最近更新 更多