Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite Firedac数据库在Delphi10.3 IDE中运行时始终锁定-编译的可执行文件工作正常_Sqlite_Delphi_Firedac - Fatal编程技术网

Sqlite Firedac数据库在Delphi10.3 IDE中运行时始终锁定-编译的可执行文件工作正常

Sqlite Firedac数据库在Delphi10.3 IDE中运行时始终锁定-编译的可执行文件工作正常,sqlite,delphi,firedac,Sqlite,Delphi,Firedac,我在Delphi 10.3.1中使用FiredacSqlite数据库时遇到困难 我正在使用Dbnavigator和DbGrid将新记录直接输入到所选表中。每次我尝试发布新记录时,都会收到一条Firedac错误消息“error:database is locked” 当我试图删除记录时也会发生这种情况。这仅在IDE运行时发生。我在许多论坛上都读过几篇文章,强调同一个问题。我已尝试更改锁定模式设置,但问题仍然存在。必须离开IDE,运行可执行文件,测试并重新进入IDE进行调试,这是非常令人沮丧的 如果

我在Delphi 10.3.1中使用
Firedac
Sqlite
数据库时遇到困难

我正在使用
Dbnavigator
和DbGrid将新记录直接输入到所选表中。每次我尝试发布新记录时,都会收到一条Firedac错误消息“error:database is locked” 当我试图删除记录时也会发生这种情况。这仅在IDE运行时发生。我在许多论坛上都读过几篇文章,强调同一个问题。我已尝试更改锁定模式设置,但问题仍然存在。必须离开IDE,运行可执行文件,测试并重新进入IDE进行调试,这是非常令人沮丧的

如果您在IDE中打开了Sqlite数据库或其中的表,则会出现“数据库已锁定”消息;这将锁定应用程序在运行时检测并投诉的数据库


解决方案很简单:确保该表未在IDE中打开,并且与该表的FireDAC连接也未处于活动状态。

您是否在IDE中打开了Sqlite DB或与该表的DB连接?如果是这样的话,试着将两者都设置为“关闭”。谢谢Martyn——这似乎成功了——我对Sqlite和Firedac非常陌生,我相信还会有更多的问题出现;)只需将
TFDConnection
组件的
Connected
属性设置为
False
@Sami:谢谢,但读者可能没有意识到将表的
Active
设置为True将撤消此操作。是的,但这完全是关于连接的,设置
TFDConnection.conceted:=Fasle
将所有数据集
活动
也设置为false。以其他方式确保没有与db的连接。:)