I am using SQlite db, two application uses this db, one from C++ and another from python. If a table is accessed by both the application simultaneously, Database error occurs. How to use same db in two application. Thanks in advance.
Related
I am new to python but I have worked with ORM frameworks before.
It is confusing for me that when I create database connection I can specify a database URL to some remote DB.
Or I can create DB in a file without remote DB. How does SQLAlchemy work with a file then?
It doesn`t have an RDBMS to connect to. Only file. So this is the reason for my question:
Is SQLAlchemy an RDBMS itself?
It's not a database, but a library for handling databases, or as they put it:
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
The file based dialect is SQLite.
I have a class named 'DbWorker' to access data in SQlite DB. I design parallel procedure to create 3 cores by python multiprocessing. Each processors has 'DbWorker' object to process data and access DB.
Now I encountered a problem explained as follows:
time1: core-1: update data and insert them in DB
time2: core-2: look-up DB, but no data in DB
time3: core-3: the same problem as core-2
time4: core-1: look-up DB and DB has updated data
I found an article How to share a single SQLite connection in multi-threaded Python application.
Then I used 'Lock' to avoid data competition, but nothing's happened.
Is there any way to solve this problem??
Eric
Is it possible to run a python flask app that pulls from a sql database, while also running a python script that updates the sql database every few seconds?
Yes, databases are designed to handle this type of concurrent access. If the database is in the middle of an update, it will wait until the update is complete before handling the Flask app's query, and it will complete the query before starting the next incoming update.
I've an application developed with peewee to use mariadb, but now, I need duplicate the 'insert' to register it in a mssql (Microsft SQL Server) database.
I'm trying to use peewee-mssql and peewee-mssqlserv database drivers (or frameworks, or libraries, i'm confused about how they are called) but it seems that the select and insert functions differ from those defined in original peewee and I don't find documentation or API about this peewee-mssql drivers.
How can I use the same classes to insert records in mariadb and mssql indistinctly? It's possible?
Thanks once again.
I tried looking in the documentation of Flask and SQLAlchemy but I couldn't find the answer...
Do the sessions used with SQLAlchemy automatically lock the DB? I do a read (let's say it takes a long time) and it seems to block out any other reads I am trying to do on my Postgres DB. Is this something I have to configure manually on Postgres using constraints or is there something I can change with Flask / SQLAlchemy?
Thanks