【问题标题】:Simple database application for Windows适用于 Windows 的简单数据库应用程序
【发布时间】:2010-09-11 22:33:15
【问题描述】:

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

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

【问题讨论】:

    标签: windows database embedded-database


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      单用户还是多用户?

      对于单用户,答案是SQLite

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          【解决方案4】:

          What options are there for a quick embedded DB in .NET? 重复

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

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

          【讨论】:

            【解决方案5】:

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

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

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                【解决方案7】:

                如前所述,SQLite 是一个很棒的单用户数据库。 This page has VB/SQLite examples。曾经担心的是 SQLite 解析外键约束,但不强制执行它们。您可以将this code to generate "foreign key triggers" 用于 SQLite,从而获得一个易于使用的具有 FK 约束的数据库。

                不过,根据您对数据库的要求,您可能需要考虑 MS Access。

                【讨论】:

                【解决方案8】:

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

                【讨论】:

                  【解决方案9】:

                  SQLite 可能是您正在寻找的。 http://www.sqlite.org/

                  【讨论】:

                    【解决方案10】:

                    取决于您对应用程序的需求。

                    您可以使用SQLLite,这是一个非常好的数据库,无需安装。

                    你也可以使用Microsoft SQL Server: SQL Server Compact 3.5

                    两者都是免费的!

                    【讨论】:

                      【解决方案11】:

                      从您的帖子中并不清楚您是否想要一个 Web 应用程序。

                      对于 Web 应用程序,MySQL 在 Windows 平台上有效地工作。您还可以选择几乎无限的开发环境,包括 PHP、Ruby on Rails、Django 和 .Net。

                      如果您正在查看桌面应用程序,MS Access 可能是合适的……对于简单的应用程序来说非常简单。

                      【讨论】:

                        【解决方案12】:

                        好吧,假设你之前没有任何经验……

                        您需要某种持久性存储(例如数据库)和客户端。 对于存储,您几乎可以使用任何东西。例如,您可以在 MS Access 中创建数据库,然后将其作为文件发送,使用 ADO 访问它。 其他选项是 MS SQL Express 版本(预装在某些机器上或可以免费安装)和大量开源数据库,如 SQLite

                        对于客户端,使用 VBScript 和 ADO(使用 OLE DB 驱动程序)不会出错。自黑暗时代以来,它们随每个 Windows 安装一起提供,您将在线获得大量参考/教程/答案。 缺点:没有 UI 可言,因此您必须构建一个命令行界面(用于“简单”应用程序)。

                        如果您想构建 UI,我建议您使用 .NET WinForms。开销会大大增加,但现在所有 XP/Vista 机器上都安装了 .NET,即使不是,您也可以始终将框架与您的应用程序一起安装。

                        【讨论】:

                          【解决方案13】:

                          如果您想构建可以轻松移动到其他电脑的应用程序,我更喜欢 Microsoft Access,它是易于使用且无需安装的小型数据库。它适用于地址簿、迷你 crud 系统等应用程序。

                          但是如果你想开发企业数据库系统,你应该使用MySQL

                          【讨论】:

                            【解决方案14】:

                            我不明白您所说的“独立形式 [...] 已安装软件”是什么意思。您至少需要安装 DBMS 以及一个客户端或用户界面。

                            我建议使用 MS Access。对于简单的单用户任务和快速原型开发来说,它既简单又便宜。只需购买开发版本(“正常”访问)即可创建数据库。可以从 Microsoft 主页免费下载 Access 2007 的运行时版本 - 仅使用您创建的数据库。

                            还将 DBMS 和 GUI 前端结合在同一个工具中。

                            【讨论】:

                              【解决方案15】:

                              我敢说 MS Access...?

                              【讨论】:

                              • 可以,只要你愿意承担后果。
                              【解决方案16】:

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

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

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

                              【讨论】:

                                【解决方案17】:

                                我已成功使用 Turbo Delphi(可免费用于商业,不可用于商业用途)+ ZeosLib (zeos.firmos.at)。

                                您需要与 .exe 一起分发的唯一内容是数据库客户端 dll(无需安装客户端,只需将 dll 放在同一目录中即可)。

                                【讨论】:

                                  【解决方案18】:

                                  Kexi 会起作用吗?

                                  【讨论】:

                                    【解决方案19】:

                                    我可以根据个人经验推荐“我的视觉数据库” 免费,无代码,无sql,拖拽即可。

                                    http://myvisualdatabase.com/

                                    【讨论】:

                                      【解决方案20】:

                                      最好的选择是使用 Delphi 创建一个 Win32 本机应用程序并使用 SQLLite 作为数据库。

                                      原因是 Delphi 可以在机器上不安装任何其他产品的情况下生成本机 win32 应用程序。

                                      【讨论】:

                                      • Delphi 很酷,你确实可以用它创建无依赖的原生 win32 应用程序。但是,我认为将新程序员引向 Delphi 并不是一个好主意,因为他们可以使用这样的项目来提高他们在更主流的编程环境中的技能。
                                      猜你喜欢
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 2012-01-18
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      相关资源
                                      最近更新 更多