Настройка соединения Zenoposter к своему серверу с MariaDB через ODBC

Dobriyk0t

Client
Регистрация
28.12.2016
Сообщения
89
Благодарностей
45
Баллы
18
Дело было вечером, делать было нечего... Решил я как-то сделать общий для всех моих проектов сервер со всеми базами данных на отдельном сервере, тем более была лишняя малинка не при деле. Как устанавливать операционку на Raspberry Pi и ставить на нее базу данных(выбор пал на MariaDB, т.к. MySQL для нее нет) не буду рассказывать, т.к. таких инструкций полно, поэтому пропускаю эти пункты. Отмечу лишь, что на роутере нужно присвоить статичный IP малинке, причем уточню что статичный IP нужно присваивать конкретному подключению(wifi или по кабелю). В общем все легко, кроме установки соединения между ZennoPoser'ом и базой данных, т.к. используя стандартное подключение работать не будет. Не нашел решения этой проблемы на форуме и в сети, поэтому методом проб и ошибок я добился своего и теперь распишу тут как это сделать.
И так, приступим.


1 шаг. Установка MariaDB Connector.
Переходите по ссылке, выбираете ODBC connector, версию и операционную систему машины на которой установлен ZennoPoster.

125361


Скачиваете и устанавливаете.

2 шаг. Настройка драйвера ODBC MariaDB.
В поиске винды вводите "ODBC", выбираете версию.

125362


Открывается окошко "Администратор источника данных ODBC", переходите во вкладку "Системный DSN", лучше добавлять в этой вкладке, чтобы драйвер был доступен для всех пользователей.

125363


Далее кликаете по кнопке "Добавить", если вы установили в шаге 1 то что нужно, то у вас будет присутствовать пункт "MariaDB ODBC (версия) Driver", выбираете его и кликаете "Готово".

125364


Появится окно настройки, придумываете название, если нужно добавляете описание. Кликаете"Next", указываете статичный IP вашего сервера с БД, указываете порт(если при настройке БД на сервере ничего не меняли, то по умолчанию используется порт 3306), указываете пользователя, который вы создали в БД, пароль к нему и указываете название созданной базы данных.

125365


После кликаете "Next".
_ _ _ _ _

Указываете IP вашего домашнего сервера(ранее писал, что нужно в роутере закрепить IP за сервером), порт(3306 стандартный порт), указываете логин(его создаете в самой БД, у меня это "mainuser") пользователя, который будет подключаться к вашей БД и пароль к нему, а также указываете название созданной базы данных, у меня это "accounts".


125578


После кликаете "Next", тут тестировать не нужно, тест не пройдет.
_ _ _ _ _

Если вам что-то нужно настроить с таймаутами, указываете(можно пропустить этот пункт).


125366


Снова кликаете "Next".
_ _ _ _ _

Тут тоже можно ничего дополнительного не ставить.


125367


Кликаете "Next".
_ _ _ _ _

И на этом пункте, внимательно, если на сервере не настроен SSL доступ и вам он не нужен, то убираете отсюда "галку", иначе подключение работать не будет. Обращу внимание, что если убирать галку в такой же настройке в ZennoPoster, то изменения сохраняться не будут и при подключении будет возникать ошибка SSL.


125368


Кликаете "Next".
_ _ _ _ _

В этом пункте можете ничего не менять.


125369


И смело кликать "Finish".

Шаг 3. Настройка соединения в ZennoPoster.
Выбираете кубик в действиях "Базы данных", кликаете по кубику и открываем "Конструктор подключений".

125370


_ _ _ _ _

В конструкторе кликаем по кнопке "Change".

125579


И выбираем "other" в поле "Data source", а в поле "Data provider" выбираем ".NET Framework Data Provider for ODBC".


125371


Кликаем "ОК".
_ _ _ _ _

Далее, если у вас сразу не появился пункт с вашим название драйвером подключения в поле "Use user or sustem data source name", то выбираем пункт "Use connection string" и кликаем кнопку "Build".


125372


Переходим во вкладку "Источник данных компьютера" и выбираем созданный на Шаге 2 вами источник, в моем случае это "MariaDB_main"

125373


Кликаем "ОК".
_ _ _ _ _

И в появившемся окне, который мы проходили в Шаге 2 просто листаем все шаги кнопкой "Next" и в конце "Finish".
_ _ _ _ _

В итоге у вас должно получиться, такое окно с созданным вами источником.


125374


Логин и пароль тут указывать не нужно. Теперь протестируем соединение и кликнем по кнопке "Test Connection". И если вы все сделали правильно должно появиться окно с успешным тестом.

125375


УРА! Поздравляю, вы настроили соединение ZennoPoster с вашей БД на отдельном сервере!

Переходим к настройке кубика и у вас должен быть следующий вид, чтобы взаимодействовать в вашей базой данных.


125376


Где, указан драйвер подключения "Dsn=MariaDB_main;", server - это IP вашего сервера, user id - логин к БД, password - пароль к БД, database - название БД, а в самом запросе указано название таблицы в БД, в данном случае она скрывается в переменной моего шаблона {-Variable.bdTable-}.

Этот простой запрос возвращает количество строк в БД.


Спасибо за внимание, надеюсь кому-нибудь будет полезна эта статья, мне пришлось долго ковыряться чтобы дойти до этого.
 
Последнее редактирование:

Demiz

Client
Регистрация
19.12.2017
Сообщения
198
Благодарностей
128
Баллы
43
Отличная статья! Недавно открыл для себя похожее решение через PostgreSQL, проблема была только если на машинах разные драйвера odbc и конструктор подключений выбивало. Также отдам голос, благодарю
 
  • Спасибо
Реакции: Dobriyk0t

Dobriyk0t

Client
Регистрация
28.12.2016
Сообщения
89
Благодарностей
45
Баллы
18
Отличная статья! Недавно открыл для себя похожее решение через PostgreSQL, проблема была только если на машинах разные драйвера odbc и конструктор подключений выбивало. Также отдам голос, благодарю
Я до того как начал перенос своих разрозненных баз на один сервер считал что mariaDB и mySQL это практически синонимы в отличии от PostgreSQL. Поэтому ошибки при работе с БД в шаблонах стали для меня сюрпризом. В особенности когда собрал и структурировал все базы на новом отдельном сервере, довольный потирал руки изменяя настройки в шаблонах.
 
  • Спасибо
Реакции: Demiz

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)