Microsoft Azure App服务:无法写入sqlite数据库

时间:2019-11-02 14:50:06

标签: sqlite azure azure-web-sites flask-sqlalchemy

我正在尝试在Microsoft Azure上部署我的Flask应用程序。在部署的站点上,它可以正常读取数据库,但是每当我尝试写入数据库时​​,它都会给出:sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)数据库已锁定

我在app文件夹中的文件结构是:

  • 模板
  • app.py
  • db.sqlite

但是,当我在本地运行时,一切正常。有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

从Package中运行将wwwroot设为只读,并且在将文件写入此目录时会出现错误。您可能会参考以下链接可能会有所帮助: https://github.com/Azure/app-service-announcements/issues/84

https://docs.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package

答案 1 :(得分:0)

没有更多信息可帮助我们解决您的问题,例如将SQLAlchemy与SQLite结合使用的必要代码和配置。

因此,我建议您可以仔细参考有关SQLite锁定文件的某些主题进行编写。

  1. Database Locking Behavior / Concurrency
  2. SQLite官方页面Appropriate Uses For SQLiteClient/Server Applications部分的High ConcurrencySituations Where A Client/Server RDBMS May Work Better项目。

同时,一些现有的SO线程可能会为您提供帮助。

  1. sqlite3.OperationalError: database is locked
  2. SQLAlchemy and SQLite: database is locked

希望有帮助。如果您可以更新描述以发布更多有用的信息,我将尝试重现并修复您的问题,然后更新我的帖子。