SQLFuse - это файловая система пользовательского режима, основанная на FUSE, которая отображает объекты сервера SQL на файловую систему: схемы, таблицы, представления, хранимые процедуры, функции, колонки, триггеры и др. Кроме отображения объектов SQLFuse частично поддерживает их создание, редактирование и удаление.
О порядке распространения и лицензирования SQLFuse вы можете прочитать в файле LICENSE.
Сборка осуществляется путём вызова команд:
$ make clean
$ make
Вы также можете собрать SQLFuse с опцией DEBUG
:
$ make clean
$ make debug
Это позволит увидеть исполняемые SQL-команды при сбросе кэша в БД.
Установка в систему выполняется командой:
# make install
Удаление выполняется командой:
# make uninstall
Установка и удаление SQLFuse происходит путём копирования в каталог /usr/bin/
или удаления из него исполняемого файла sqlfuse
.
SQLFuse основана на FUSE, поэтому про опции монтирования вы можете прочитать на FUSE. Параметры монтирования в опции -o
относящиеся к SQLFuse представлены ниже:
profilename
- наименование профиля, которое определено в конфигурационном файлеsqlfuse.conf
, путь до которого определяется переменной окруженияXDG_CONFIG_HOME/sqlfuse/sqlfuse.conf
. Более подробно описано в спецификации XDG Base Directory Specification.
Пример монтирования БД AdventureWorks2008R2:
$ ./sqlfuse -o profilename=AdventureWorks2008R2 ~/myserver/advworks
Конфигурационные файлы задают порядок работы и удобство настройки SQLFuse. Синтаксис имеет сходство с .ini-файлами, и позволяет описать группы, содержащие пары ключ-значение. Пример использования формата можно найти на сайте freedesktop.org, например:
Файл же sqlfuse.conf
должен включать одну или более групп, имеющие пары ключ-значение. Наименование группы задаёт имя профиля, которое будет искать SQLFuse при монтировании в параметре profilename
опции -o
. Существует и зарезервированное наименование группы - [global]
. Пары ключ-значение группы [global]
заменяют пары ключ-значение других пользовательские групп. Таким образом, Вы можете задавать сквозные параметры, которые применимы ко всем профилям.
Далее представлен список возможных ключей:
appname
- задаёт наименование приложения, которое будет передаваться в параметрах подключения к серверу, - по умолчанию SQLFuse;maxconn
- устанавливает количество подключений, которое будет использовать SQLFuse, при соединении с сервером SQL (рекомендуемое минимальное значение 2, так как это значительно ускоряет процесс работы), ожидает целочисленное значение;to_codeset
,from_codeset
- конвертирует текст определений модулей сервера SQL заданную кодировкуto_codeset
изfrom_codeset
(должен быть установленiconv
), ожидает текстовое значение;ansi_npw
- принудительное включение параметровQUOTED_IDENTIFIER
,ANSI_NULLS
,ANSI_WARNINGS
,ANSI_PADDINGS
,CONCAT_NULL_YIELDS_NULL
в состояниеON
, - необходимо на некоторых старых серверах, и при не верной/необходимой настройки БД сервера, ожидает значенияtrue
илиfalse
;servername
- имя и адрес экземпляра сервера, к которому необходимо подключиться;dbname
- наименование базы данных, которую следует примонтировать к файловой системе;auth
- наименование профиля авторизации, который задан в файлеsqlconf.auth.conf
(см. след. раздел);username
- логин пользователя БД;password
- пароль пользователя БД;exclude_schemas
- не отображать заданные схемы, разделённые;
;deploy_time
- задержка в секундах для сброса данных в БД, задержка считается от времени последней модификации объектов;filter
- фильтр для объектов - регулярное выражение, - при совпадении пути объект не будет найден, для фильтрации схем используйтеexclude_schemas
;hot_start
- горячий старт при монтировании, - выбираются все объекты БД и записываются в кэш SQLFuse. Пользователь, указанный в профиле авторизации, должен иметь права на создание временных таблиц.
При подключению к экземпляру сервера, например,
test\test
, экранировать символ\
не нужно, - это делает за Вас SQLFuse, при чтении конфигурационных файлов.
Файл sqlfuse.auth.conf
также располагается в директории из переменной XDG_CONFIG_HOME/sqlfuse/sqlfuse.conf
и имеет формат определённый freedesktop.org.
Конфигурационный файл определяет профиль авторизации, наименование которого определяет имя группы. Профиль авторизации может присвоен подключению через параметр auth
в файле sqlfuse.conf
.
Группа профиля авторизации имеет всего два параметра:
username
- логин пользователя БД;password
- пароль пользователя БД.
Если Вам необходима авторизация в домене, то символ
\
экранировать нет необходимости.
- если Вы хотите сообщить о конкретном баге, или оказать посильную помощь в разработке, то вам сюда;
- можете отправлять предложения и замечания напрямую автору [email protected].