delphi SQLite“格式错误的数据库架构”错误

pxy2qtax  于 7个月前  发布在  SQLite
关注(0)|答案(2)|浏览(81)

我在 Delphi 中使用FireDAC时出现错误。我需要帮助来解决这个问题。我替换了SQLite库,但没有运气。

procedure TForm1.Button3Click(Sender: TObject);
var
  FDConnection1: TFDConnection;
  str_: string;
  rsQ: TFDQuery;
begin

  FDConnection1 := TFDConnection.Create(nil);

  with FDConnection1 do
  begin
    DriverName := 'SQLite';
    str_ := GetCurrentDir+'\SyncData.sqlite3';
    Params.Database := str_;
    Open;
  end;

  rsQ := TFDQuery.Create(Nil);
  rsQ.Connection := FDConnection1;

  rsQ.SQL.Clear;
  rsQ.SQL.Add('update metas set base_version = -1 where metahandle=1');
  rsQ.ExecSQL;

  Try
    if rsQ <> nil then
    begin
      rsQ.Close;
      rsQ.Free;
      rsQ := Nil;
    end;
  except
  end;

  Try
    if FDConnection1 <> Nil then
    begin
      FDConnection1.Close;
      FDConnection1.Free;
    end;
  except
  End;

end;

字符串
SQLITE错误“[FireDAC][Phys][SQLite]错误:格式错误的数据库架构(MmapStatus)- near“(“:语法错误。”

vatpfxk5

vatpfxk51#

当我得到这个的时候,我正在使用Python。我试图在python3.5中使用我在python3.7中开发的一些代码。版本不同步。我在37中重新生成了项目,它工作得很好,没有模式问题。

dluptydi

dluptydi2#

SQLite对版本非常敏感。我在升级 Delphi 后也遇到了同样的问题。起初我以为新版本的DB处理中发生了一些变化,这导致了问题,但后来我发现 Delphi 的“bin”目录中有一个较新版本的sqlite3.dll,这就是原因。我用我一直使用的版本替换了它,问题就消失了

相关问题