5

在我的工作中,我的同事正在考虑使用超文件作为 Windev 项目的数据库服务器。我什至不知道那种数据库,它来自开发windev的公司PCSOFT。

由于windev 也可以与microsoft sql server 一起工作,我正在向已经使用过它的人寻求关于这种数据库(性能、稳定性等)的建议。

问候!

4

6 回答 6

7

这取决于您的项目的大小。实际上,Windev 与 HyperFileSQL 配合得很好。它是为它设计的!通过使用另一个 DBMS,您可以在表中削减一些功能,例如直接读取/修改/删除。

一旦表中有大量记录(> 100'000),您的性能就会显着下降。您的数据库管理将成为一场噩梦,因为您无法同时执行多个 SQL 请求。例如,我正在使用一个法国人开发的另一个工具来管理我的数据库并执行一些更新。

尽管如此,它还是稳定的,并提供了一种与 Windev 的字段交互的简单方法。

在我看来,Hyperfile SQL 应该用于具有少量特征和数据的小型应用程序。

于 2012-07-31T10:53:09.413 回答
5

加上 Samuël Tremblay 已经写过的内容,我想说的是,在将 Windev 与 HFSQL(旧名称是 HyperFile SQL)一起使用 2 年多之后,这是我的结论(我使用了 Windev 版本 20 和 22):

优点:

  • 将数据库复制到另一台服务器相当容易设置。您可以选择复制整个数据库或选择的表。但是像 PostgreSQL 这样的 DBMS 实际上提供了高级复制设置 ( https://www.2ndquadrant.com/en/resources/pglogical/ )。

  • 轻松导出到查询/表的 Microsoft Excel 文件

  • 通过图形用户界面 (GUI) 创建和更改数据库的架构/结构

缺点:

  • 当您使用Windev提供的数据库服务器(即HFSQL)时,您必须使用Windev(即强加给您)。您不能使用 Windev 以外的其他语言/框架与您的数据库进行交互,您必须使用 Windev 来查询 HFSQL 数据库。如果您改用 PostgreSQL、mySQL/MariaDB 等 DBMS,您可以(并且将能够)使用其他语言查询数据库:C++、Java、JavaScript 等。假设您现在想打开数据到客户通过网络应用程序,您实际上将需要使用他们的其他软件Webdev从他们的软件套件中(并实际购买)。或者说,有一天,你想用 Qt 或其他方式为智能手机开发一个简单的应用程序。好吧,如果你的数据库运行在 HFSQL 上,那么你将无法查询你的数据库,除非你使用 Windev(实际上是你也需要购买的Windev Mobile )。
  • UNIQUE 约束不适用于 NULL 的存在(包含 NULL 的两行将被视为违反 UNIQUE 约束)。
  • (几乎)每次更新“分析/分析”(基本上是数据库模式)时,您还需要更新二进制可执行文件。您将需要重新编译您的软件并将其再次分发给用户。比如你修改了一个表,增加了一个列,或者修改了一个列的类型,那么你就需要重新编译。用户拥有的可执行文件不会运行,它会说数据库上的“分析”(模式)的版本与可执行文件中的版本不同,并且会停止。砰!
  • HyperFile SQL (HFSQL) 服务器不是那么稳定,当执行没有那么多行的稍微高级的查询时,它会(经常)崩溃......
  • 您不能创建脚本来查询 HFSQL 数据库:您必须使用 Windev 创建一个二进制可执行文件(一个新项目)。假设你想快速修改一些东西——>你需要重新编译(并随身携带一个 Windev IDE)。
  • 假设您在旅途中,旅行时忘记带上带有 Windev 加密狗密钥(许可证加密 USB 密钥:如果您没有它,则无法运行 Windev)的计算机,您需要做一些在数据库上工作。PCSoft 提供了一个名为 HFSQL Control Center(一个 GUI 软件)的软件,可以与数据库进行交互,但遗憾的是无法从 Internet 上下载。您实际上是在购买Windev时获得的,您可以将其分发给您想要的人,但不能从PCSOFT网站下载。而如果你的数据库引擎是另一个引擎,比如 PostgreSQL 或 MariaDB,你可以简单地下载 PGAdmin 或同等的,然后你就可以与你的数据进行交互。
  • 在我看来,HFSQL 不是真正的/真正的 DBMS,让我自己解释一下:您可以在分析中设置的约束(例如 UNIQUE)并不总是得到尊重。例如,在模式(分析)中添加 UNIQUE 约束并编译程序后,我看到如果我从可执行文件中将一些数据插入到表中,它会在应该发生的时候检测到违反 UNIQUE 约束的情况。但是,如果我通过 HFSQL 控制中心插入相同的数据集,则不会强制执行约束并且会插入重复项。
  • 还有很多话要说...

底线:根据我自己的经验,我强烈鼓励任何想要开发“必须”使用 Windev 开发的可靠且可靠的软件(并且需要数据持久性)的人,不要使用他们的数据库 HFSQL。使用 PostgreSQL 或 MariaDB 等 RDBMS 会更好。今年夏天,我们实际上将把我们的数据库从 HFSQL 移植到 PostgreSQL。

于 2017-05-10T18:23:01.027 回答
2

您应该仔细考虑将使用哪些 sql 函数。例如 deg2rad、rad2deg、... 无法正常工作。

此外,如果您想在移动设备(适用于 iOS 或 Android 的 Windev Mobile)上使用它,您应该使用 SQLLite。因为 HyperFile 使用大量内存,在移动设备上会出现问题。

于 2014-01-27T16:00:32.833 回答
2

如果您想要一个免费的数据库,请使用 PostgreSQL,用于 PostgreSQL 的 Windev 连接器可以免费下载并安装在您的 Windev 上,作为 HFSQL 的替代品,它在使用通常的 hFunction 时会更强大,就像使用 HFSQL 一样,而且您将在网络上找到大量文档来做强大的事情。

HFSQL 实际上与旧的 ISAM DBASE 数据库相同,因此它需要重新索引以及类似于那些旧数据库系统时代的东西。

PostgreSQL 就像拥有一个免费的 Oracle 数据库,具有所有强大的功能和可靠性,为此我们放弃了 HFSQL,性能提高了十倍以及所有其他好处,同时保持我们的代码几乎相同,每天感觉就像我们从那里发现免费赠品和礼物自我们迁移以来的 ProsgreSQL :)

免费 VS 免费...您必须使用强大的网络文档和可提供帮助的人员。

于 2014-12-30T16:55:08.773 回答
1

在 WinDev Mobile 18 及更高版本中,您可以在设备上使用 Hyperfile。我推荐它,因为它更快,而且 SQLLite 将 blob-size 限制为 1MB!

@Spek 手机上 HyperFile 的内存使用情况?你能给我任何价值观吗?我想如果你想做一个全功能的APP你不能忽视HyperFile的好处......

于 2014-02-02T07:37:18.913 回答
0

仅供参考:Windev 版本 19 中的新增功能:Hyperfile SQL 是 ACID。

于 2015-02-03T15:32:17.783 回答