You need to enable JavaScript to run this app. Windows 10下Delphi 10.3 FireDAC SQLite默认数据库路径及.db文件定位问题
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10下Delphi 10.3 FireDAC SQLite默认数据库路径及.db文件定位问题

SQLite连接参数留空的运行逻辑与跨PC迁移说明

Database字段留空时的实际运行规则

当你通过FireDAC对接SQLite、且将连接参数的Database字段留空时,不会生成任何磁盘上的实体数据库文件:

  • 这种配置下驱动会直接在当前应用进程的内存空间中创建纯内存数据库实例,所有表结构、存储的数据都仅存在于进程的运行内存中,没有任何落盘的存储环节,自然不存在所谓的“默认文件路径”,也不会在电脑上生成可检索的.db后缀文件。
  • 只有当你为Database参数填入明确的文件路径字符串时,SQLite才会执行磁盘文件操作:路径指向的文件存在就直接加载,不存在就按指定路径新建实体文件,文件的后缀完全由你填写的文件名决定,.db、.sqlite、无后缀都是SQLite支持的合法格式。

找不到.db文件的核心原因

你当前无法定位到库文件,本质是因为内存模式下的数据库从始至终没有写入磁盘:

  • 纯内存数据库的生命周期完全和应用进程绑定:只要程序退出,操作系统会直接回收进程占用的全部内存,整个数据库实例就会被销毁,所有存储在内存中的数据不会自动保留为磁盘文件。
  • 如果之前曾经生成过可落盘的库文件,文件位置完全取决于当时填写的Database参数值,常见的容易漏找的位置包括:
    • 在Delphi IDE内调试运行程序时,默认工作路径是工程源文件(.dpr)所在的目录,而非编译生成的exe所在的Debug/Release子目录
    • 直接双击运行编译好的exe时,填写的相对路径基准点为exe自身所在的文件夹

跨PC迁移的配置调整方案

由于纯内存模式没有可直接拷贝迁移的实体文件,要实现带库跨PC运行,需要修改现有连接配置:

  • 移除空值的Database配置,根据迁移需求填写固定的库文件路径:
    • 若要实现库文件随程序一并拷贝迁移,可将Database参数设置为与exe同目录下的固定文件名,例如./local_data.db,连接成功时驱动会自动在对应路径生成、加载实体文件
  • 配置调整后,第一次成功连接时,程序才会在指定路径生成对应的.db实体文件;后续只需将该文件与可执行程序一起拷贝到其他PC,无需额外安装依赖,即可直接读取文件中存储的原有数据。

内容的提问来源于stack exchange,提问作者Bigman74066

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.07 23:54:04