Core2Duo76
Новичок
- Сообщения
- 58
- Репутация
- 1
На сайте Sqlite написано, что можно подключиться к :memory: базе, если создать новую с именем 'file:memdb1?mode=memory&cache=shared'. Ради теста сделал скрипт, который висит в памяти и держит там таблицу. Делаю второй скрипт, который показывает через _arrayDisplay таблицу, но Sqlite отвечает с ошибкой "no such table ***", и чей это косяк? мне кажется, что соединение к существующей RAM базе не произошло, хоть и после _sqlite_open() в @error был 0. Реально ли подключиться к существующей базе?
Код скрипта, который первый, компилированный запущен перед выполнением второго.
Второй:
Код скрипта, который первый, компилированный запущен перед выполнением второго.
Код:
#include <sqlite.au3>
_SQLite_Startup()
$DB=_SQLite_Open(':memory:')
_SQLite_Exec($DB,'CREATE TABLE test (id); INSERT INTO test VALUES (1),(2),(3)')
Sleep(100000000)
Второй:
Код:
#include <array.au3>
_SQLite_Startup()
$DB = _SQLite_Open(':memory:')
_SQLite_Exec($DB, 'ATTACH DATABASE ''file:memdb1?mode=memory&cache=shared'' AS SHARED;')
ConsoleWrite('error=' & @error & @CRLF)
Dim $t, $r, $c
_SQLite_GetTable2d($DB, 'SELECT * FROM SHARED.test', $t, $r, $c)
_ArrayDisplay($t)