- Регистрация
- 28.12.2016
- Сообщения
- 89
- Благодарностей
- 45
- Баллы
- 18
Дело было вечером, делать было нечего... Решил я как-то сделать общий для всех моих проектов сервер со всеми базами данных на отдельном сервере, тем более была лишняя малинка не при деле. Как устанавливать операционку на Raspberry Pi и ставить на нее базу данных(выбор пал на MariaDB, т.к. MySQL для нее нет) не буду рассказывать, т.к. таких инструкций полно, поэтому пропускаю эти пункты. Отмечу лишь, что на роутере нужно присвоить статичный IP малинке, причем уточню что статичный IP нужно присваивать конкретному подключению(wifi или по кабелю). В общем все легко, кроме установки соединения между ZennoPoser'ом и базой данных, т.к. используя стандартное подключение работать не будет. Не нашел решения этой проблемы на форуме и в сети, поэтому методом проб и ошибок я добился своего и теперь распишу тут как это сделать.
И так, приступим.
1 шаг. Установка MariaDB Connector.
Переходите по ссылке, выбираете ODBC connector, версию и операционную систему машины на которой установлен ZennoPoster.
Скачиваете и устанавливаете.
2 шаг. Настройка драйвера ODBC MariaDB.
В поиске винды вводите "ODBC", выбираете версию.
Открывается окошко "Администратор источника данных ODBC", переходите во вкладку "Системный DSN", лучше добавлять в этой вкладке, чтобы драйвер был доступен для всех пользователей.
Далее кликаете по кнопке "Добавить", если вы установили в шаге 1 то что нужно, то у вас будет присутствовать пункт "MariaDB ODBC (версия) Driver", выбираете его и кликаете "Готово".
Появится окно настройки, придумываете название, если нужно добавляете описание. Кликаете"Next", указываете статичный IP вашего сервера с БД, указываете порт(если при настройке БД на сервере ничего не меняли, то по умолчанию используется порт 3306), указываете пользователя, который вы создали в БД, пароль к нему и указываете название созданной базы данных.
После кликаете "Next".
_ _ _ _ _
Указываете IP вашего домашнего сервера(ранее писал, что нужно в роутере закрепить IP за сервером), порт(3306 стандартный порт), указываете логин(его создаете в самой БД, у меня это "mainuser") пользователя, который будет подключаться к вашей БД и пароль к нему, а также указываете название созданной базы данных, у меня это "accounts".
После кликаете "Next", тут тестировать не нужно, тест не пройдет.
_ _ _ _ _
Если вам что-то нужно настроить с таймаутами, указываете(можно пропустить этот пункт).
Снова кликаете "Next".
_ _ _ _ _
Тут тоже можно ничего дополнительного не ставить.
Кликаете "Next".
_ _ _ _ _
И на этом пункте, внимательно, если на сервере не настроен SSL доступ и вам он не нужен, то убираете отсюда "галку", иначе подключение работать не будет. Обращу внимание, что если убирать галку в такой же настройке в ZennoPoster, то изменения сохраняться не будут и при подключении будет возникать ошибка SSL.
Кликаете "Next".
_ _ _ _ _
В этом пункте можете ничего не менять.
И смело кликать "Finish".
Шаг 3. Настройка соединения в ZennoPoster.
Выбираете кубик в действиях "Базы данных", кликаете по кубику и открываем "Конструктор подключений".
_ _ _ _ _
В конструкторе кликаем по кнопке "Change".
И выбираем "other" в поле "Data source", а в поле "Data provider" выбираем ".NET Framework Data Provider for ODBC".
Кликаем "ОК".
_ _ _ _ _
Далее, если у вас сразу не появился пункт с вашим название драйвером подключения в поле "Use user or sustem data source name", то выбираем пункт "Use connection string" и кликаем кнопку "Build".
Переходим во вкладку "Источник данных компьютера" и выбираем созданный на Шаге 2 вами источник, в моем случае это "MariaDB_main"
Кликаем "ОК".
_ _ _ _ _
И в появившемся окне, который мы проходили в Шаге 2 просто листаем все шаги кнопкой "Next" и в конце "Finish".
_ _ _ _ _
В итоге у вас должно получиться, такое окно с созданным вами источником.
Логин и пароль тут указывать не нужно. Теперь протестируем соединение и кликнем по кнопке "Test Connection". И если вы все сделали правильно должно появиться окно с успешным тестом.
УРА! Поздравляю, вы настроили соединение ZennoPoster с вашей БД на отдельном сервере!
Переходим к настройке кубика и у вас должен быть следующий вид, чтобы взаимодействовать в вашей базой данных.
Где, указан драйвер подключения "Dsn=MariaDB_main;", server - это IP вашего сервера, user id - логин к БД, password - пароль к БД, database - название БД, а в самом запросе указано название таблицы в БД, в данном случае она скрывается в переменной моего шаблона {-Variable.bdTable-}.
Этот простой запрос возвращает количество строк в БД.
Спасибо за внимание, надеюсь кому-нибудь будет полезна эта статья, мне пришлось долго ковыряться чтобы дойти до этого.
И так, приступим.
1 шаг. Установка MariaDB Connector.
Переходите по ссылке, выбираете ODBC connector, версию и операционную систему машины на которой установлен ZennoPoster.
Скачиваете и устанавливаете.
2 шаг. Настройка драйвера ODBC MariaDB.
В поиске винды вводите "ODBC", выбираете версию.
Открывается окошко "Администратор источника данных ODBC", переходите во вкладку "Системный DSN", лучше добавлять в этой вкладке, чтобы драйвер был доступен для всех пользователей.
Далее кликаете по кнопке "Добавить", если вы установили в шаге 1 то что нужно, то у вас будет присутствовать пункт "MariaDB ODBC (версия) Driver", выбираете его и кликаете "Готово".
Появится окно настройки, придумываете название, если нужно добавляете описание. Кликаете"Next", указываете статичный IP вашего сервера с БД, указываете порт(если при настройке БД на сервере ничего не меняли, то по умолчанию используется порт 3306), указываете пользователя, который вы создали в БД, пароль к нему и указываете название созданной базы данных.
После кликаете "Next".
_ _ _ _ _
Указываете IP вашего домашнего сервера(ранее писал, что нужно в роутере закрепить IP за сервером), порт(3306 стандартный порт), указываете логин(его создаете в самой БД, у меня это "mainuser") пользователя, который будет подключаться к вашей БД и пароль к нему, а также указываете название созданной базы данных, у меня это "accounts".
После кликаете "Next", тут тестировать не нужно, тест не пройдет.
_ _ _ _ _
Если вам что-то нужно настроить с таймаутами, указываете(можно пропустить этот пункт).
Снова кликаете "Next".
_ _ _ _ _
Тут тоже можно ничего дополнительного не ставить.
Кликаете "Next".
_ _ _ _ _
И на этом пункте, внимательно, если на сервере не настроен SSL доступ и вам он не нужен, то убираете отсюда "галку", иначе подключение работать не будет. Обращу внимание, что если убирать галку в такой же настройке в ZennoPoster, то изменения сохраняться не будут и при подключении будет возникать ошибка SSL.
Кликаете "Next".
_ _ _ _ _
В этом пункте можете ничего не менять.
И смело кликать "Finish".
Шаг 3. Настройка соединения в ZennoPoster.
Выбираете кубик в действиях "Базы данных", кликаете по кубику и открываем "Конструктор подключений".
_ _ _ _ _
В конструкторе кликаем по кнопке "Change".
И выбираем "other" в поле "Data source", а в поле "Data provider" выбираем ".NET Framework Data Provider for ODBC".
Кликаем "ОК".
_ _ _ _ _
Далее, если у вас сразу не появился пункт с вашим название драйвером подключения в поле "Use user or sustem data source name", то выбираем пункт "Use connection string" и кликаем кнопку "Build".
Переходим во вкладку "Источник данных компьютера" и выбираем созданный на Шаге 2 вами источник, в моем случае это "MariaDB_main"
Кликаем "ОК".
_ _ _ _ _
И в появившемся окне, который мы проходили в Шаге 2 просто листаем все шаги кнопкой "Next" и в конце "Finish".
_ _ _ _ _
В итоге у вас должно получиться, такое окно с созданным вами источником.
Логин и пароль тут указывать не нужно. Теперь протестируем соединение и кликнем по кнопке "Test Connection". И если вы все сделали правильно должно появиться окно с успешным тестом.
УРА! Поздравляю, вы настроили соединение ZennoPoster с вашей БД на отдельном сервере!
Переходим к настройке кубика и у вас должен быть следующий вид, чтобы взаимодействовать в вашей базой данных.
Где, указан драйвер подключения "Dsn=MariaDB_main;", server - это IP вашего сервера, user id - логин к БД, password - пароль к БД, database - название БД, а в самом запросе указано название таблицы в БД, в данном случае она скрывается в переменной моего шаблона {-Variable.bdTable-}.
Этот простой запрос возвращает количество строк в БД.
Спасибо за внимание, надеюсь кому-нибудь будет полезна эта статья, мне пришлось долго ковыряться чтобы дойти до этого.
Последнее редактирование: