适用于 Windows 的简单数据库应用程序

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/113723/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 11:16:26  来源:igfitidea点击:

Simple database application for Windows

windowsdatabaseembedded-database

提问by grigy

I need to build a simple, single user database application for Windows. Main requirements are independence from windows version and installed software. What technologies (language/framework) would you recommend? My preference for language is the Visual Basic.

我需要为 Windows 构建一个简单的单用户数据库应用程序。主要要求是独立于 Windows 版本和已安装的软件。您会推荐哪些技术(语言/框架)?我对语言的偏好是 Visual Basic。

EDIT: What about VB.Net and SQL Server Compact Edition?

编辑:VB.Net 和 SQL Server Compact Edition 怎么样?

回答by Greg Hewgill

I would recommend Sqlite. It's completely self-contained, and public domainso there are no license issues at all.

我会推荐Sqlite。它是完全独立的公共领域,因此根本没有许可证问题。

回答by Sklivvz

Single user or multi user?

单用户还是多用户?

For single user, the answer would be SQLite

对于单个用户,答案是SQLite

For multi user (or multithread), try MySQLor PostgreSQL.

对于多用户(或多线程),请尝试MySQLPostgreSQL

回答by computinglife

Since your requirement is a windows based application i would suggest that you go with sql server 2005 express edition which is a free tool, but with certain small limitations. you can upgrade to a bigger version when you go with a paid version.

由于您的要求是基于 Windows 的应用程序,我建议您使用 sql server 2005 express edition,这是一个免费工具,但有一些小的限制。当您使用付费版本时,您可以升级到更大的版本。

There are other DB engines like SQL Lite or FireBird, choose them if the support and growth options they provide are good enough for you

还有其他数据库引擎,如 SQL Lite 或 FireBird,如果它们提供的支持和增长选项对您来说足够好,请选择它们

Additionally, Visual Basic is eof lifed. VB.NET might be a better windows based platform currently. It would give a better platform / features to start with and when you want to expand the talent you have working on the project, i assume .NET talent might be more available than programmers who want to work with a dead language.

此外,Visual Basic 已经过时了。VB.NET 目前可能是一个更好的基于 Windows 的平台。它将提供一个更好的平台/功能作为开始,当您想要扩展您在项目中工作的人才时,我认为 .NET 人才可能比想要使用死语言的程序员更容易获得。

回答by mcintyre321

duplicate of What options are there for a quick embedded DB in .NET?

的复制选项是有什么嵌入式DB在.NET中的快?

I'll repeat my answer from there:

我会从那里重复我的回答:

"Or theres Esent, the built in database that exists in every copy of windows. Read about it here: http://ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx" and http://www.codeplex.com/ManagedEsent

“或者还有 Esent,它是存在于每个 Windows 副本中的内置数据库。请在此处阅读:http: //ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage- engine.aspx” 和http://www.codeplex.com/ManagedEsent

回答by TheVillageIdiot

FireBird SQLserver will be thing of choice. It can be used in both embedded and multiuser mode like traditional databases. It implements many of the SQL standards and has strong community base. It is available for Windows, Linux, Solaris, OS X, HP-UX

FireBird SQL服务器将是首选。它可以像传统数据库一样在嵌入式和多用户模式下使用。它实现了许多 SQL 标准并拥有强大的社区基础。它适用于 Windows、Linux、Solaris、OS X、HP-UX

回答by borjab

SQLite will work for a local desktop application. If you want several users, a few gigas of data, and multiple connections I would use mysql or Firebird.

SQLite 将适用于本地桌面应用程序。如果您想要多个用户、几千兆数据和多个连接,我会使用 mysql 或 Firebird。

http://www.mysql.com/http://www.firebirdsql.org/

http://www.mysql.com/ http://www.firebirdsql.org/

回答by Ovid

As mentioned, SQLite is a great single-user database. This page has VB/SQLite examples. Once concerns is that SQLite parses foreign key constraints, but does not enforce them. You can use this code to generate "foreign key triggers"for SQLite, thus gaining an easy to use database with FK constraints.

如前所述,SQLite 是一个很棒的单用户数据库。 此页面有 VB/SQLite 示例。曾经担心的是 SQLite 会解析外键约束,但不会强制执行它们。您可以使用此代码为 SQLite生成“外键触发器”,从而获得一个易于使用的带有 FK 约束的数据库。

Depending on how demanding your database needs are, though, you might want to consider MS Access.

但是,根据您的数据库需求的要求,您可能需要考虑 MS Access。

回答by ema

I used SQL Server Compact Edition. It's like sqllite. A single SDF file accessed using ADO.NET. You can develop your application using Visual Basic .NET and manage you database (add tables, columns, constraints, etc...) using Visual Studio.

我使用了 SQL Server Compact Edition。这就像 sqllite。使用 ADO.NET 访问的单个 SDF 文件。您可以使用 Visual Basic .NET 开发您的应用程序并使用 Visual Studio 管理您的数据库(添加表、列、约束等...)。

回答by Milan Babu?kov

If you are looking for small footprint (up to a few MB) and easy deployment (end-user should only install your application to get it working), then your options are SQLite and Firebird embedded.

如果您正在寻找占用空间小(最多几 MB)和易于部署(最终用户应该只安装您的应用程序才能使其正常工作),那么您的选择是 SQLite 和 Firebird 嵌入式。

Of those two, I'd pick Firebird any time, because of it's full support for SQL (you can't, for example, drop a column in SQLite), ACID compliance, and ability to go client/server without any changes (just change the connection string from embedded to server) to the code if you ever decide to let multiple users work on the same database.

在这两者中,我随时都会选择 Firebird,因为它完全支持 SQL(例如,您不能在 SQLite 中删除列)、ACID 合规性以及无需任何更改即可进入客户端/服务器的能力(只是如果您决定让多个用户在同一个数据库上工作,请将连接字符串从嵌入式到服务器)更改为代码。

Not to mention that you can use full server to develop (which means your application and database administration tool can be connected to database at the same time).

更不用说你可以使用全服务器来开发(这意味着你的应用程序和数据库管理工具可以同时连接到数据库)。

回答by Rik

Dare I mention MS Access...?

我敢提 MS Access...?