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].