【发布时间】:2021-01-18 12:38:12
【问题描述】:
我正在使用 Delphi 10.3 和 FireDAC 设置为 SQLite 构建一个带有本地内存数据库的小型应用程序。 SQLite 使用的数据库文件的默认路径是什么? (即数据库参数留空)
我想将数据库文件传输到另一台 PC。我想它具有 .db 文件扩展名,但我无法找到该文件。
【问题讨论】:
我正在使用 Delphi 10.3 和 FireDAC 设置为 SQLite 构建一个带有本地内存数据库的小型应用程序。 SQLite 使用的数据库文件的默认路径是什么? (即数据库参数留空)
我想将数据库文件传输到另一台 PC。我想它具有 .db 文件扩展名,但我无法找到该文件。
【问题讨论】:
来自http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_SQLite_with_FireDAC:
"要创建和打开 SQLite 内存数据库,请使用以下命令 参数:
DriverID=SQLite Database=:memory: 或者直接留下Database参数 空:"
这让我觉得应该有一个最终存储数据的文件,但事实证明没有。释放数据库后,所有数据都会丢失。
【讨论】:
根据定义,“内存中”是指没有文件。如果您需要数据文件,请在 TFDConnection 的参数中将文件名(完整的路径)添加到数据库值。
您可以在设计时在对象检查器中执行此操作,也可以在运行时通过代码执行此操作,如下所示:
FDConnection1.Params.Values['Database'] := 'C:\ProgramData\YourCompany\YourApp\YourFile.sqlite3';
当然最好通过向Windows查询“程序数据”的位置来设置路径。
【讨论】: