Перенос базы на linux сервер

В этом форуме Вы можете задать любые вопросы по работе программы, особенно если они могут быть полезны и другим пользователям программы. Мы обязательно поможем Вам использовать программу на все 100%.

Модераторы: Анастасия, Дмитрий

Закрыто
iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Перенос базы на linux сервер

Сообщение iluxxa »

Уважамые разработчики! Не могли бы Вы подсказать каким образом можно перенести базу программы на Linux сервер. Интересует сам процесс установки firebird сервера на готовую систему debian 7 (wheezy) и пернос на сервер базы Money Tracker c последующим подключением к этой базе с машины под управлением windows 7 с установленным Money Tracker. Заранее благодарю за содействие!

Дмитрий
Разработчик
Разработчик
Сообщения: 1698
Зарегистрирован: Ср ноя 21, 2007 6:18 am
Контактная информация:

Re: Перенос базы на linux сервер

Сообщение Дмитрий »

Подробная инструкция по установке Firebird Server есть здесь: http://linux-bash.ru/mseti/61-firebird.html, последняя версия Firebird 2.1 здесь: http://www.firebirdsql.org/en/firebird-2-1/. Сами не проверяли, но по идее должно работать. Также если у вас Debian, можно попробовать загуглить репозиторий.
Что касается клиентской части, параметры соединения с базой данных прописываются в файле MoneyTracker.ini, расположенном в папке Документы\DominSoft\MoneyTracker, параметры ServerName и DatabaseName. Также можно задать имя пользователя и пароль для подключения к базе, по умолчанию они SYSDBA и masterkey соответственно (именно в таком регистре).

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

А подскажите,пожалуйста, для чего в ярлыке запуска программы указан User="1" ?

Дмитрий
Разработчик
Разработчик
Сообщения: 1698
Зарегистрирован: Ср ноя 21, 2007 6:18 am
Контактная информация:

Re: Перенос базы на linux сервер

Сообщение Дмитрий »

Для автоматического входа в программу под пользователем с этим идентификатором.

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

Дмитрий писал(а):Для автоматического входа в программу под пользователем с этим идентификатором.
Означает ли это что данный пользователь должен быть зарегестрирован в списке пользователей linux сервера и ему даны права (какие?) на файл базы данных?

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

Дмитрий писал(а):Также можно задать имя пользователя и пароль для подключения к базе, по умолчанию они SYSDBA и masterkey соответственно (именно в таком регистре).
Как в файле MoneyTracker задать имя пользователя и пароль? Как "UserName=" и "Password=" ? Или как-то ещё?

Дмитрий
Разработчик
Разработчик
Сообщения: 1698
Зарегистрирован: Ср ноя 21, 2007 6:18 am
Контактная информация:

Re: Перенос базы на linux сервер

Сообщение Дмитрий »

iluxxa писал(а):Означает ли это что данный пользователь должен быть зарегестрирован в списке пользователей linux сервера и ему даны права (какие?) на файл базы данных?
Это пользователь в программе, заданный в справочнике пользователей. К серверу СУБД он не имеет отношения, все пользователи программы подключаются под одним пользователем уровня БД.
iluxxa писал(а):Как в файле MoneyTracker задать имя пользователя и пароль? Как "UserName=" и "Password=" ? Или как-то ещё?
Не заметил, что не написал этого, извините. Да, это параметры UserName и Password секции DB файла MoneyTracker.ini.

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

Огромное спасибо за все ответы! Буду добивать настройку сервера! Постараюсь отписаться о результатах и описать весь процесс. СПАСИБО!!!

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

Здравствуйте!
Наконец-то у меня дошли руки до настройки домашнего сервера. По вышеупомянутой инструкции настроил Firebird сервер. Могу локально подключаться к базе и выполнять запросы к ней.Пример:
1.Проверяю работу Firebird:
ps ax | grep fbserver
24531 pts/0 S+ 0:00 grep fbserver
Процесс запущен.
2. Проверяю порт 3050:
netstat -an | grep 3050
tcp 0 0 0.0.0.0:3050 0.0.0.0:* LISTEN
Сервер слушает порт 3050 - ОК.
3.Запускаю утилиту isql:
/opt/firebird/bin/isql -user sysdba -password masterkey
4.Подключаюсь к базе:
SQL> connect /srv/dev-disk-by-label-Mirror/MIRROR/money_tracker/mt.fdb;
Database: /srv/dev-disk-by-label-Mirror/MIRROR/money_tracker/mt.fdb, User: sysdba
5.Вывожу список таблиц:
SQL> show tables;
ACCOUNT ACCOUNTGROUP
ACCOUNTTOTALBYDATE BORROWING
BORROWINGPAYMENT BUDGET
BUDGETCONSTRAINT BUDGETNODE
BUDGETNODEITEM CALENDAREVENT
CALENDAREXPENSE CALENDAREXPENSEEXECUTE
CALENDAREXPENSEEXECUTEITEM CALENDARINCOME
CALENDARINCOMEEXECUTE CALENDARINCOMEEXECUTEITEM
CALENDARLABEL CALENDARMONEYTRANSFER
CALENDARMONEYTRANSFEREXECUTE CALENDARNOTE
CALENDARREMIND COMMGROUP
COMMODITY COMMPRICE
DBINFO DEFAULTSETTINGS
DEFAULTSETTINGSITEM EXPENSE
EXPENSEITEM EXPENSEPLAN
EXPENSEPLANITEM INCOME
INCOMEITEM INCOMEPLAN
INCOMEPLANITEM LENDING
LENDINGPAYMENT MONEYEXCHANGE
MONEYTRANSFER MONEYTRANSFERPLAN
MONEYTYPE MONEYTYPERATE
MONEYTYPERATESOURCE ORGANIZATION
ORGANIZATIONGROUP STOREDREPORT
STOREDREPORTGROUP UNITTYPE
USERMT USERSETTINGS
USERSETTINGSCODE
6.База прописана в /opt/firebird/aliases.conf вот так:
mt = /srv/dev-disk-by-label-Mirror/MIRROR/money_tracker/mt.fdb
mt.fdb = /srv/dev-disk-by-label-Mirror/MIRROR/money_tracker/mt.fdb
Права на базу 0770, владелец firebird/firebird
ЛОКАЛЬНО всё работает.
7.Тельнетом проверяю работу Firebird сервера с удалённой машины (Windows 7 64bit)
telnet 192.168.88.2 3050 - порт отвечает, соединение есть.
8.Пишу параметры соединения с базой в MoneyTracker.ini:
[DB]
ServerName=192.168.88.2
DatabaseName=mt.fdb
UserName=SYSDBA
Password=masterkey
Где 192.168.88.2 - адрес моего сервера, где крутится Firebird сервер
При запуске MoneyTracker получаю вот что:
"Exception EZSQLException in module MoneyTracker.exe at 001A7073.
SQL Errpr: I/O error for file "mt.fdb" Error while trying to open file
Permission denied. Error code:-902. Unsuccessful execution caused by
a system error that precludes
successful execution of subsequent statments."
Такое же сообщение для другого MoneyTracker.ini:
[DB]
ServerName=192.168.88.2
DatabaseName=/srv/dev-disk-by-label-Mirror/MIRROR/money_tracker/mt.fdb
UserName=SYSDBA
Password=masterkey

Понимаю что что-то не так с ACL на базу. Но вот не могу понять - ЧТО??? Может неправильно написан MoneyTracker.ini??? Помогите, пожалуйста!!!

Дмитрий
Разработчик
Разработчик
Сообщения: 1698
Зарегистрирован: Ср ноя 21, 2007 6:18 am
Контактная информация:

Re: Перенос базы на linux сервер

Сообщение Дмитрий »

Вероятнее всего в данном случае, что у пользователя Linux, под которым запущен сервер Firebird, нет прав на доступ к файлу базы. В случае с запуском isql на сервере осуществлялся локальный доступ к базе, минуя сервер, т.е. под тем же пользователем, под которым запущен isql. Также в Linux имя пользователя Firebird (SYSDBA) чувствительно к регистру, и если в isql сработало в нижнем регистре, то и в MoneyTracker.ini надо писать в нижнем.

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

Ура! Всё получилось! Я дал права на файл базы и вышестоящий каталог пользователю firebird и сделал его владельцем каталога и базы. И всё заработало! Теперь я могу с разных компов напрямую работать в Money Tracker! Могу написать пошаговую инструкцию по переносу базы Money Tracker на debian сервер! Админам интересно это?

Дмитрий
Разработчик
Разработчик
Сообщения: 1698
Зарегистрирован: Ср ноя 21, 2007 6:18 am
Контактная информация:

Re: Перенос базы на linux сервер

Сообщение Дмитрий »

Я думаю, что пользователи, способные установить Линукс, смогут найти в этом топике все ответы на возникающие вопросы :)

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

ОК! Тогда можно закрывать тему как "решено" или как тут на форуме можно?

iluxxa
Новичок
Новичок
Сообщения: 9
Зарегистрирован: Пн окт 31, 2016 3:12 pm

Re: Перенос базы на linux сервер

Сообщение iluxxa »

Все-таки подытожу:
1. Перенесенный на сервер файл и ВСЕ вышестоящие папки должны быть даны на полный доступ пользователю firebird, а также этот пользователь должен быть ВЛАДЕЛЬЦЕМ базы mt.fdb (если я тут приврал - админы поправят меня)
2. База mt.fdb должна быть прописана в настройках Firebird сервера в aliases.conf (если не хотите прописывать, то придётся в MoneyTracker.ini в раздел DatabaseName прописывать ПОЛНЫЙ путь к базе....А кому оно надо???), например если файл лежит в папке /srv/dev-disk-by-label-Mirror/money_tracker (как у меня), то пишем её в aliases.conf (который для моего, установленного по инструкции в этом топике, сервера лежит по в папке /opt/firebird/) как:
mt = /srv/dev-disk-by-label-Mirror/money_tracker/mt.fdb, где mt - это имя (алиас) базы Money Tracker, который можно задать произвольно, главное чтобы потом этот алиас записать в MoneyTracker.ini в строку DatabaseName=
Соответственно MoneyTracker.ini должен выглядеть так:
[DB]
ServerName=nas
DatabaseName=mt
UserName=SYSDBA
Password=вашпароль

Где "ServerName" - dns имя или IP адрес Вашего сервера (это уж зависит от настроек Вашей локальной сети и настроек сервера, у меня DNS сервер локальный есть...хехе)
"DatabaseName" - АЛИАС базы, прописанный в aliases.conf
"UserName" - всегда SYSDBA
"Password" - ваш пароль для пользователя SYSDBA Firebird сервера, который можно установить при установке сервера. По умолчанию он "masterkey". Я, кстати, его сменил (мало ли чего, безопасности много не бывает).
Сменить пароль для данной версии Firebird сервера можно так:
Переходим в каталог /opt/firebird/bin:
cd /opt/firebird/bin
Запускаем скрипт changeDBAPassword.sh:
./changeDBAPassword.sh
И вводим 2 раза ваш пароль для пользователя SYSDBA, который потом и используем в данной секции MoneyTracker.ini.
Всё это, конечно, выполняем в командной строке.

Всем спасибо за внимание, всем удачной настройки! И не забываем про бэкап своей любимой базы, а то мало ли чего.

Закрыто