Что нового

Вопрос по SQlite ?

Статус
Закрыто для дальнейших ответов.

uBaH

Новичок
Сообщения
19
Репутация
0
Спроектировал небольшую БД(SQlite) к ней будут подключатся 5-ть пользователей , приложения к БД написаны на autoit. Подскажите пожалуйста , не накроется ли случайно моя БД от того что например несколько пользователей одновременно попытаются удалить одну и туже строчку, или отредактируют аналогичное. Может надо накатать какое-то приложение которое будет всё это контролировать. И ещё, SQlite как многопользовательская(больше 10-ти) БД это возможно ?? Заранее спасибо.
 

axlwor

Скриптер
Сообщения
657
Репутация
147
думаю эти вопросы не для этого форума ;)
нет. нет. да.
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
uBaH [?]
к ней будут подключатся 5-ть пользователей
Не вижу проблем.

Подскажите пожалуйста , не накроется ли случайно моя БД от того что например несколько пользователей одновременно попытаются удалить одну и туже строчку
Если алгоритм обращения построен правильно, нет.
Если в момент записи база занята другим процессом, то возвращается код ошибки. В зависимости от кода принимается решение, или прекратить попытки записи или ставить процесс в очередь.

И ещё, SQlite как многопользовательская(больше 10-ти) БД это возможно ??
Да.
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
369
IgRo [?]
На Хабре говорят о режиме WAL в SQLite
http://habrahabr.ru/post/149635/, но как его включит в не понятно
Качаем свежий sqlite.dll отсюда, т.к. старый может не поддерживать этот режим, кладем dll рядом со скриптом, работаем.
Код:
#include <SQLite.au3>
_SQLite_Startup()
Local $aResult, $iRows, $iColumns, $iRval
_SQLite_Open('c:\base.db')
_SQLite_Exec(-1, 'PRAGMA journal_mode=WAL')
_SQLite_Exec(-1, 'CREATE TABLE IF NOT EXISTS tb(field_1, field_2);')
_SQLite_Exec(-1, 'INSERT INTO tb VALUES ("aaa", "111");')
_SQLite_Exec(-1, 'INSERT INTO tb VALUES ("bbb", "222");')
_SQLite_GetTable2d (-1, "SELECT * FROM tb LIMIT 10;", $aResult, $iRows, $iColumns)
$a = _SQLite_Display2DResult($aResult, 10, 0)
_SQLite_Shutdown()

Интересный режим 8), надо будет попробовать.
 

mef-t

Осваивающий
Сообщения
303
Репутация
30
А куда нужно класть sqlite.dll?
 

AZJIO

Меценат
Меценат
Сообщения
2 752
Репутация
1 149
В UDF используется имя "sqlite3.dll", так что "sqlite.dll" он не увидит. Положить можно в папку скрипта, в папку System32 или в папку Windows. Судя по UDF он будет искать файл в этих каталогах.
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
OffTopic:
Да, конечно, с учётом активности на форуме mef-t`а он ждал именно вас!
Заглядывал в тему и думал, ну когда же, когда dexter987 зарегистрируется и ответит мне!
…и, о чудо! :shok:
 
Статус
Закрыто для дальнейших ответов.
Верх