问题描述
多年来,我已经看到了对 VistaDB 的引用以及 SQLite、Firebird、MS SQL 等工具.阿尔.我从来没有理由考虑过.
I have seen the references to VistaDB over the years and with tools like SQLite, Firebird, MS SQL et. al. I have never had a reason to consider it.
为 VistaDB 付费与使用其他技术相比有什么好处?我想到的事情:
1. 紧凑的框架支持.SQLite+MSSQL 支持 CF.
2. 需要迁移路径到更强大"的系统.火鸟+MSSQL.
3. 需要更高级的功能,如触发器.火鸟+MSSQL
What are the benefits of paying for VistaDB vs using another technology? Things I have thought of:
1. Compact Framework Support. SQLite+MSSQL support the CF.
2. Need migration path to a 'more robust' system. Firebird+MSSQL.
3. Need more advanced features such as triggers. Firebird+MSSQL
推荐答案
VistaDB 客户端运行时是免费的.正如您所说,运行时永远不会在凌晨 3 点到期".只有开发人员工具才能以这种方式获得许可.每个开发人员需要 1 个许可证,很简单.我们甚至提供了一个非常便宜的 Lite 版本,没有 Visual Studio 工具.
The VistaDB client runtime is free. The runtime will never "expire at 3am" as you put it. Only the developer tools are licensed in that manner. You need 1 license per developer, simple. We even offer a really inexpensive Lite version with no Visual Studio tools.
其他一些好处
100% 托管代码 - 引擎中没有互操作或其他非托管调用.这对某些人来说是件大事,而其他人则不在乎.
100% managed code - there are no interop or other unmanaged calls in the engine. This is a big deal to some, and others couldn't care less.
不需要注册表访问 - proc 数据库中的其他大多数都需要注册表访问来查找父控件或权限.VistaDB 只做你告诉它做的事情,甚至可以在中等信任度下运行.
No registry access required - Most other in proc databases require registry access to look for parent controls, or permissions. VistaDB only does what you tell it to do, and will even run in Medium Trust.
XCopy 部署 用于运行时和您的数据库(单个文件).您可以 xcopy 应用程序、运行时和数据库并运行.无需在机器上安装或配置,无需特殊权限(我们可以在 Medium Trust 或更高级别运行).
XCopy deployment for runtime and your database (single file). You can xcopy you application, the runtime, and your database and run. Nothing to install or configure on the machine, no special privileges needed (we can run in Medium Trust or higher).
独立存储 - 您可以将整个数据库放入独立存储并直接从那里运行.这使得构建安全的点击一次应用程序变得非常容易,这些应用程序以域友好的方式为企业环境编写数据库.无需将用户数据存储在共享驱动器上,也无需担心权限映射.
Isolated storage - You can put your entire database into Isolated Storage and run it from there directly. This makes it very easy to build secure click once applications that write databases in a domain friendly way for corporate environments. There is no need to store the user data on a shared drive or worry about permission mapping.
CLR 触发器/CLR 过程 - 您可以编写 CLR 代码并将它们用作触发器或存储过程.我们最近刚刚引入了一些更改,使维护可以在 VistaDB 和 SQL Server 2005/2008 中运行的单个 CLR 程序集变得更加容易.
CLR Triggers / CLR Procs - You can write CLR Code and use them as Triggers or Stored Procs. We have just recently introduced changes to make it even easier to maintain a single CLR Assembly that can run in both VistaDB and SQL Server 2005/2008.
T-SQL Procs - VistaDB T-SQL Procs 与 SQL Server 2005/2008 兼容.在我们的引擎中运行的任何过程都将在 SQL Server 中运行.这并不意味着在那里运行的任何东西都会移植给我们.我们是 SQL Server 中功能的一个子集.但我们也是在没有 SQL Server 的情况下运行 T-SQL Procs 的唯一方法(SQL CE 做不到).
T-SQL Procs - VistaDB T-SQL Procs are compatible with SQL Server 2005/2008. Any procedure that works in our engine will run in SQL Server. That does not mean anything that runs there will port to us. We are a subset of the functionality in SQL Server. But we are also the only way to run T-SQL Procs without SQL Server (SQL CE can't do it).
我个人认为最大的特性之一是能够在以后升级到 SQL Server.所有 VistaDB 类型、语法和 CLR Procs、T-SQL procs 等都将在 SQL Server 上运行.(不过,你不能把所有东西从 SQL Server 都拿下来到 VistaDB,它是一个子集)
I personally think one of the biggest features is the ability to upsize to SQL Server later. All of the VistaDB types, syntax, and CLR Procs, T-SQL procs, etc all will run on SQL Server. (You can't take everything from SQL Server down to VistaDB though, it is a subset)
32/64 位部署 - VistaDB 是一个单一的程序集部署,可以在 32 位和 64 位上运行而无需更改.SQL CE 需要两种不同的运行时,具体取决于操作系统,并且根本无法在 IIS 下运行.Access 没有 64 位运行时,最新的 32 位运行时只能通过 MSI 部署.32 位版本的 Windows 有运行时,64 位版本没有.
32/64 bit Deployment - VistaDB is a single assembly deployment that runs both 32 and 64 bit without changes. SQL CE requires two different runtimes depending upon the OS, and cannot run under IIS at all. Access has no 64 bit runtime, and the most recent 32 bit runtime can only be deployed through MSI. The 32 bit version of Windows has the runtime, the 64 bit version does not.
关系完整性 - VistaDB 实际上还强制执行您的约束和外键.您可以进行特定的级联更新和删除操作.评论我们就像 SQLITE 的人在这方面是错误的.它们解析约束,但不强制执行它们.
Relational Integrity - VistaDB also actually enforces your constraints and Foreign Keys. You can specific cascade update, and delete operations. The person who commented we are like SQLITE is wrong in this regard. They parse constraints, but do not enforce them.
他们现在在 SQLite 中确实支持 FK.但默认情况下它们不会被编译,并且不使用与 SQL Server 相同的语法.
They do have support for FK's now in SQLite. But they are not compiled in by default, and do not use the same syntax as SQL Server.
中等信任度 - 在中等信任度 Web 服务器上运行的能力是另一个很多人不会关心的功能,但它很重要.许多第三方控件甚至无法在 Medium Trust 中运行.由于我们承诺 100% 托管代码和所需的最少权限,我们可以在 Medium Trust 内运行完整的引擎.
Medium Trust - The ability to run on a medium trust web server is another feature that many will not care about, but it is a big deal. Many third party controls can't even run in Medium Trust. We can run the complete engine within Medium Trust because of our commitment to 100% managed code and least permission required.
- 完全披露- 我是 VistaDB 的所有者,所以我可能有偏见.:)
- Full disclosure - I am the owner of VistaDB so I may be biased. :)
这篇关于VistaDB有什么优势的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!