当前位置: 首页 > 面试题库 >

为用户无缝地将数据库打包到应用程序中

邵耀
2023-03-14
问题内容

我想创建一个使用关系数据库的桌面应用程序(例如postgres-最好的情况是在此应用程序中使用postgres)。

我希望用户不了解数据库。目前,我必须将postgres安装到本地计算机上,并使我的应用程序与之通信。

我正在使用Go。

如何避免这种情况?


问题答案:

您正在寻找 嵌入式数据库

请不要捆绑安装程序并在无人看管的情况下运行它。后来去安装PostgreSQL的用户看到计算机上已经有PostgreSQL时会感到非常困惑,但是他们不知道为什么,安装了谁或密码是什么。

而是initdb在应用程序%APPDATA%或(用于多用户共享)中的应用程序内的新datadir
%PROGRAMDATA%。设置一个自定义端口(不要使用默认的5432)。使用创建新服务pg_ctl register,使用NETWORKSERVICE或按运行或按需启动/停止pg_ctl。这样一来,您就不会妨碍现有的PostgreSQL安装或新安装,而只为您的应用提供私有的PostgreSQL。

但是,请为用户提供选择,而不是提供现有PostgreSQL的连接字符串。如果应用程序在您不希望使用自己的嵌入式副本时坚持使用自己的嵌入式副本,那将是一个痛苦。

通常,最好还是使用SQLite,H2,Derby,Firebird或其他嵌入式DB之一。



 类似资料:
  • 问题内容: 我正在开发Java桌面应用程序,并希望它可以与应用程序一起使用并可以与应用程序打包在一起。 我打算使用数据库。它的大小接近2 MB。但是在此之前,我想征询专家的意见。 可以使用吗? 实际上,我是Hibernate的新手,并且正在研究它需要用于数据库,因此Hibernate是否具有方言? 问题答案: JavaDB(Sun支持的开源Apache Derby发行版),HSQLDB(不太活跃)

  • 有一个Spring应用程序“A”打包为JAR(带有maven),应用程序“A”的POM文件包含一些定义的特定maven依赖项。 在另一个打包为JAR的spring boot应用程序“B”中,添加了应用程序“A”的依赖项,但在执行“B”时,它对应用程序“A”中提到的依赖项抛出了几个ClassNotFound/NoClassDef错误。 注意-应用程序“A”不是一个引导项目。这是一个简单的用maven

  • 我在将 rails 2.3.5 应用程序连接到远程数据库时遇到问题。 在我的数据库.yml中,我有: 我得到的错误是: 无法通过套接字连接到本地 MySQL 服务器 (2) 我知道问题不在权限或用户设置上,因为当我使用相同的mysqlgem运行一个简单的ruby脚本时,它会起作用。此外,我的python脚本可以连接,我可以通过CLI与连接 我似乎无法让rails使用192.168.1.113而不是

  • 为缓解 Windows 下路径名过长的 问题, 略微加快一下 require的速度以及隐藏你的源代码,你可以选择把你的应用打包成 asar档案文件,这只需要对你的源代码做一些很小的改动。 大部分用户可以毫不费力地使用这个功能,因为它electron-packager,、electron-forge和electron-builder中都得到了支持,开箱即用。 如果你没有使用这些工具中的任何一个,那么

  • 在下面您会发现错误 2019-03-15 10:38:53.865警告1708--[main]O.H.E.J.E.I.JDBCEnvironmentInitiator:HHH000342:无法获取查询元数据的连接:服务器时区值“Paris,Madrid”无法识别或表示多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更指定的时区值。2

  • 问题内容: 我正在研究将由学校使用的应用程序。每所学校将建立自己的数据库。每个学校都会为应用程序提供自己的“设置”文件。设置文件将包含创建设置文件的特定学校的数据库URL。这样一来,使用该应用程序的学生如果想连接到其他数据库,就只能加载其他设置文件。 我的问题是,如何保护用于连接数据库的用户名和密码?因此,只有应用程序具有对数据库的读写访问权限。应用程序仅具有该特定学校的读写权限吗? 如果您需要更