如果您开发移动用程序,正在寻找一个功能齐全的强大数据库,但需要它支持全强度加密无需支付额外费用,那么嵌入式数据库InterBase就是最佳的选择。InterBase功能齐全的强大数据库,它可以在您的移动应用程序中轻松使用,重要的是,与SQLite不同,它支持全强度加密无需支付额外费用,InterBase不仅可以在几乎所有平台上工作,包括移动设备,而且可以免费使用。
为什么SQLite可能不是移动应用的最佳选择
毫无疑问,SQLite是简单数据库的一个非常受欢迎的选择。它免费使用,开源,并且无处不在,你可以在你能想到的每一个平台上找到它。但是SQLite有一个问题;如果您希望存储在SQLite数据库中的数据被加密,您需要支付非免费SQLite加密扩展的年费。根据官网的说明,这目前花费每年2500美元。因此,SQLite实际上并不“免费”。如果您使用IBToGo,即Embarcadero的InterBase数据库的嵌入式版本,它包含对整个数据库进行完全强大的256位AES加密和在列级别,关键还是免费的。
如何安装免费的InterBase组件?
打开RAD Studio IDE并单击“工具”菜单。从那里选择“管理功能”。
如果有必要,现在向下滚动列表。然后确保InterBase选项被选中,如下所示。
在这之后,你应该在面板中得到一些额外的组件。您还可以使用FireDAC也连接到数据库。开发控件还是还是很全的。
如何创建一个新的InterBase数据库?
当您安装InterBase选件时,它也会安装IBConsole工具。这是一个强大的实用程序,允许您创建和管理InterBase服务器和数据库。您可以通过点击Windows“开始”按钮,然后键入“IB”来找到它,然后只需点击“打开”。
已经有一个很好的说明如何使用IBConsole的指导信息集合。您可以从以下登录页面找到它
:https://docwiki.embarcadero.com/InterBase/2020/en/IBConsole,在YouTube频道上搜索InterBase,链接如下:https://www.youtube.com/@EmbarcaderoTech/search?query=interbase那里有丰富的内容。是个很好学习资源。
如何将数据库嵌入到我的移动应用程序中?
首先,使用IBConsole应用程序创建数据库。记下数据库文件的位置,它很可能以“.ib”houzhui结尾。您可以通过在IBConsole中右键单击数据库名称,然后从弹出菜单中选择“properties”来找到该文件的路径。
然后,在RAD工作室,打开您的项目和工程,选择项目, 部署,您可以添加应用程序正常运行所需的其他文件或驱动程序。我们需要添加两样东西:InterBase的驱动程序和许可证以及实际的数据库文件,这样它们就可以被复制到用户设备上的正确位置。
如何向您的移动应用添加额外的驱动程序和嵌入式数据库
从部署的下拉列表中选择您的目标平台——Android、iOS等。选中该平台后,点击“add featured files”。这将允许我们添加InterBase驱动程序和IBLite/IBToGo许可证。
如何将外部文件或数据库添加到您的移动应用程序
您可以使用部署窗口告诉RAD Studio您想要嵌入或随移动应用程序一起发布的任何附加文件。要向您的移动应用程序添加文件,请单击add按钮,然后选择您从IBConsole记下的数据库文件,如前面的屏幕截图所示。
对于面向iOS或Android的移动应用程序,您需要采取一个额外的步骤,那就是正确地指定“远程路径”,以便将物理数据库文件部署到移动操作系统规则允许的位置。对于Android,这是assets–>internal文件夹。对于iOS,这是Startup–>Documents文件夹。
在代码中,您可以更新数据库连接的数据库属性,如下所示:
- 对于iOS: TPath.Combine(TPath.GetDocumentsPath, 'database_filename.ib');
- 对于Android(当您选择“internal”时): TPath.Combine(TPath.GetDocumentsPath, 'database_filename.ib');
- 对于Android(当您选择“external”时): TPath.Combine(TPath.GetPublicPath, 'database_filename.ib');
当使用InterBase IBX组件时,运行时引用数据库的行如下所示:MyDatabase.DatabaseName := TPath.Combine(TPath.GetDocumentsPath, 'database_filename.ib');
但对于FireDAC,情况略有不同:MyDatabase.Params.Values['database'] := TPath.Combine(TPath.GetDocumentsPath, 'database_filename.ib');
请注意,这几乎是仅仅FireDAC和InterBase Express IBX数据库组件集之间使用的代码差异。
您还可以使用部署窗口上传您的IBToGo许可证(它以文本文件的形式出现,您只需将它与您的应用程序一起部署,即可获得的完整功能集)。桌面用户也可以看看IBToGo订阅,也可以使用它。
Delphi的老粉们,又可以一展拳脚了。也许嵌入式数据库InterBase是您移动应用的最佳选择。