Forums
New posts
Search forums
What's new
New posts
Latest activity
Articles
Members
Current visitors
Log in
Register
What's new
Search
Search
Search titles only
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Forums
Lab talk, the good, the bad, and the ugly
Dental-CAD
exocad database problem - multiple licenses
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Jussi Roivanen" data-source="post: 362986" data-attributes="member: 16108"><p><em>"SQLite Is Embedded, Not Client-Server. There is no separate server process that manages the database. An application interacts with the database engine using function calls, not by sending messages to a separate process or thread".</em></p><p></p><p>SQL server is used to handle databases/table, to ensure integrity, in multi-user environment - each instance communicates with server, and server is responsible of modifying database files. If there is no server that handles databases, it means that each instance using database files (on NAS) will __directly__ read/alter database and files. The biggest issue with sqlite over network is that database/table file is locked when one instance is searching or is performing something: other instances cannot access that file. Lock will be released when once instance finishes: when lock is released, another instance locks file and does its thing. And file locking is something that CANNOT be avoided using sqlite. And it may cause situation where database is constantly locked.</p><p></p><p><em><strong>A good rule of thumb is to avoid using SQLite in situations where the same database will be accessed directly (without an intervening application server) and simultaneously from many computers over a network </strong></em></p><p></p><p>I think you are using sqlite in a way which it is not desiged for, and that causes your problems.</p><p></p><p>Way to migrate to sql express (or other sql server) is to export SQL formatted data from sqlite database using <em>sqlite3</em> command line tool (command is something like: <em>sqlite3 databasename.db ".dump" > databasename.sql</em>),then import that .sql into new server and configure exo to use that server. Disclaimer: im not completely familiar with details of SQL syntaxes on various servers - but basically SQL is generic: this works when exportin/importing websites from sqlite to mysql (or maria db),but sqlite to sql express is not something that im familiar with.</p><p></p><p>I would also advice do not try fiddling with gdrive/onedrive/dobx to sync that database files to multiple computers.. it actually opens a lot more worse "can of worms" than simple file locking.</p></blockquote><p></p>
[QUOTE="Jussi Roivanen, post: 362986, member: 16108"] [I]"SQLite Is Embedded, Not Client-Server. There is no separate server process that manages the database. An application interacts with the database engine using function calls, not by sending messages to a separate process or thread".[/I] SQL server is used to handle databases/table, to ensure integrity, in multi-user environment - each instance communicates with server, and server is responsible of modifying database files. If there is no server that handles databases, it means that each instance using database files (on NAS) will __directly__ read/alter database and files. The biggest issue with sqlite over network is that database/table file is locked when one instance is searching or is performing something: other instances cannot access that file. Lock will be released when once instance finishes: when lock is released, another instance locks file and does its thing. And file locking is something that CANNOT be avoided using sqlite. And it may cause situation where database is constantly locked. [I][B]A good rule of thumb is to avoid using SQLite in situations where the same database will be accessed directly (without an intervening application server) and simultaneously from many computers over a network [/B][/I] I think you are using sqlite in a way which it is not desiged for, and that causes your problems. Way to migrate to sql express (or other sql server) is to export SQL formatted data from sqlite database using [I]sqlite3[/I] command line tool (command is something like: [I]sqlite3 databasename.db ".dump" > databasename.sql[/I]),then import that .sql into new server and configure exo to use that server. Disclaimer: im not completely familiar with details of SQL syntaxes on various servers - but basically SQL is generic: this works when exportin/importing websites from sqlite to mysql (or maria db),but sqlite to sql express is not something that im familiar with. I would also advice do not try fiddling with gdrive/onedrive/dobx to sync that database files to multiple computers.. it actually opens a lot more worse "can of worms" than simple file locking. [/QUOTE]
Insert quotes…
Verification
Who do we work for?
Post reply
Forums
Lab talk, the good, the bad, and the ugly
Dental-CAD
exocad database problem - multiple licenses
Top
Bottom