VistaDB有哪些优势

时间:2020-03-05 18:51:04  来源:igfitidea点击:

多年来,我已经看到了对VistaDB的引用,并使用了SQLite,Firebird,MS SQL等工具。 al。我从来没有理由考虑它。

与使用其他技术相比,购买VistaDB有什么好处?我想到的事情:
1.紧凑框架支持。 SQLite + MSSQL支持CF。
2.需要迁移到"更强大"的系统。火鸟+ MSSQL。
3.需要更多高级功能,例如触发器。火鸟+ MSSQL

解决方案

回答

好吧,最主要的是,它是价值的纯托管代码。它不仅可以在运行.NET的典型Windows计算机上运行,​​而且可以在运行Compact Framework的任何位置运行,甚至可以在Mono上运行。以下是他们主页上的一些值得注意的要点:

  • 小于1 MB的占地空间,真正嵌入式ZeroClick
  • Microsoft SQL Server 2005兼容的数据类型和T-SQL语法
  • 没有SQL CE限制
  • 单用户,本地多用户或者使用共享网络。
  • 部分信任的共享托管是没有问题的。
  • 免版税的分发-SQL Server的单CPU部署的成本比VistaDB的站点许可证高!

值得一提的是,罗伯·霍华德(Rob Howard)的公司机敏,将其用作新CMS软件"涂鸦"的默认数据库。

我在这里和那里玩过它,但是还没有建立任何反对它的东西。

回答

我以前没有看过VistaDB,它看上去确实很酷。

更新:从VistaDB收到某人的评论,他们的更新模型仅用于获取新版本。如果许可证到期,旧许可证将不会停止工作,这是一个很好的消息。

即使VistaDB本身还可以,但仍应考虑将原始许可保留为恕我直言,有关软件许可证到期的警告仍然值得考虑。

它肯定比SQLite更具"功能性",但是我看不出有什么可以证明其成本合理的。该网站似乎表明我们可以以279美元的价格购买一个许可证,但这意味着这只是1年的订阅。我们明年是否必须再支付$ 279来阻止网站崩溃?

如果是这样,请记住将当我们惊慌的客户凌晨3点接到电话(墨菲定律通常是凌晨3点)会给我们带来多少不便,因为他们的VistaDB许可已过期:

我曾经在一些即将到期的软件上有过这种经历,但那从来都不是一件好事。我们可以向客户发送电子邮件和消息,并在整个屏幕上以红色闪烁显示"我们需要在下周之前获得新的许可",而他们仍将永远不会这样做,并且在凌晨3点仍然会感到痛苦到期。

回答

VistaDB客户端运行时是免费的。如我们所说,运行时永远不会"在凌晨3点过期"。只有开发者工具以这种方式获得许可。每个开发人员都需要1个许可证,很简单。我们甚至提供了没有Visual Studio工具的非常便宜的Lite版本。

其他一些好处

100%托管代码在引擎中没有互操作或者其他非托管调用。对于某些人来说,这是大事,而其他人则不在乎。

不需要注册表访问权限proc数据库中的其他大多数文件都需要注册表访问权限才能查找父控件或者权限。 VistaDB只会执行我们要求的操作,甚至可以在Medium Trust中运行。

用于运行时的XCopy部署和数据库(单个文件)。我们可以复制应用程序,运行时和数据库,然后运行。无需在计算机上安装或者配置,不需要特殊特权(我们可以在Medium Trust或者更高版本中运行)。

隔离存储我们可以将整个数据库放入隔离存储中,然后从那里直接运行。这使得构建安全的单击一次应用程序非常容易,该应用程序以对企业环境友好的域方式编写数据库。无需将用户数据存储在共享驱动器上,也不必担心权限映射。

CLR触发器/ CLR过程我们可以编写CLR代码并将其用作触发器或者存储过程。我们最近引入了一些更改,以使维护可在VistaDB和SQL Server 2005/2008中运行的单个CLR程序集变得更加容易。

T-SQL过程VistaDB T-SQL Procs与SQL Server 2005/2008兼容。在我们的引擎中起作用的任何过程都将在SQL Server中运行。这并不意味着在那里运行的任何东西都可以移植到我们这里。我们是SQL Server功能的子集。但是,我们也是在没有SQL Server的情况下运行T-SQL Procs的唯一方法(SQL CE无法做到)。

我个人认为最大的功能之一就是以后可以升级到SQL Server的功能。所有VistaDB类型,语法和CLR Procs,T-SQL proc等都将在SQL Server上运行。 (尽管从SQL Server到VistaDB,我们不能将所有内容都收录,这是一个子集)

32/64位部署VistaDB是运行32位和64位而无需更改的单程序集部署。根据操作系统的不同,SQL CE需要两个不同的运行时,并且完全不能在IIS下运行。 Access没有64位运行时,而最新的32位运行时只能通过MSI进行部署。 Windows 32位版本具有运行时,而64位版本则没有。

关系完整性VistaDB实际上还可以强制我们执行约束和外键。我们可以特定的级联更新和删除操作。评论我们的人就像SQLITE在这方面是错误的。它们解析约束,但不强制约束。

编辑:他们确实在SQLite中支持FK。但是它们默认情况下不会编译,并且不使用与SQL Server相同的语法。

中信任度在中信任度Web服务器上运行的功能是许多人并不关心的另一项功能,但这很重要。许多第三方控件甚至不能在Medium Trust中运行。由于我们致力于100%托管代码并需要最少的许可,因此我们可以在Medium Trust中运行完整的引擎。

全面披露我是VistaDB的所有者,因此我可能会有偏见。 :)

回答

对我来说,VistaDB最有趣的功能是它可以在中等信任环境中运行。这使得它成为创建中小型.NET网站的理想解决方案,该网站可以通过复制和粘贴(x复制部署)部署在服务器上。

而且几乎所有Windows共享主机提供商(例如GoDaddy)都不允许我们以完全信任模式运行网站。如果我们想使用SQLite,例如,也不会为我们安装任何第3方二进制文件到GAC中,例如System.Data.SQLite.dll。