Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2021, 00:23   #1
Bad.enok
Новичок
Джуниор
 
Регистрация: 01.02.2021
Сообщений: 2
По умолчанию Соединить Excel с базой данный SQL на удаленном сервере CentOS7 через ODBC

Доброго времени суток.

Задача: в книгу Эксель вставить авторизацию.
Мой вариант решения: при запуске книги Эксель макрос должен обращаться к базе данных на удаленный сервер и запрашивать у него сведения.

Из соображений экономии все это намерен реализовать через удаленный сервер (VPS) с предустановленной CentOS7 и LAMP.

Удалось настроить ODBC драйвер на CentOS, даже два драйвера: MySQL и MariaDB. Оба вроде как работают (тестировал в Putty).

В данный момент я пытаюсь протестировать соединение и прописал строку подключения в VBA Экселя. Вот она:

Код:
"DRIVER={SQL Server};SERVER=<Server_IP>:<Port>;DATABASE=<DB_name>;UID=<>;PWD=<>;Option=3"
Выходит ошибка. Во вложении принсткрин.

Вопрос: как настроить подключение?

Очень не хочу следующие вещи:
1. Переходить на виндовый сервер и MS SQL (так как затраты на аренду сервера вырастают в 10 раз);
2. Устанавливать драйвер ODBC на каждую машину, на которой планируется использовать проектируемый файл.
Изображения
Тип файла: png лог.png (5.8 Кб, 9 просмотров)
Bad.enok вне форума Ответить с цитированием
Старый 06.02.2021, 14:35   #2
Bad.enok
Новичок
Джуниор
 
Регистрация: 01.02.2021
Сообщений: 2
По умолчанию Век живи - век учись

Из того, что удалось нарыть за это время.

Начало строки подключения

Код:
DRIVER={SQL Server}
может быть разным, как минимум двух видов: через ODBC драйвер и через OLE DB (есть и драйвер и есть подключаемая библиотека). Тот вариант, который указан мною выше, это как раз одна из разновидностей ODBC драйвера. Проблема в том, что этот драйвер перед подключением к базе данных необходимо настраивать на любом компьютере, с которого делается запрос (на сервере с базой данных, разумеется, тоже). Делается это вот так:

https://zen.yandex.ru/media/id/5d441...878200ad333199

Разумеется, когда установите драйвер, вместо

Код:
DRIVER={SQL Server}
нужно будет писать то имя, которое вы укажете в поле "имя источника данных" (Data Source Name). Если имя будет "MySQL ODBC 5.3 ANSI Driver" то код будет следующий

Код:
DRIVER={MySQL ODBC 5.3 ANSI Driver}
Подключение через библиотеку OLE DB не требует настройки драйвера, данная библиотека уже присутствует в Windows, а строка подключения выглядит следующим образом:

Код:
"Provider=sqloledb;Data Source=<Server_IP>:<Port>;Database=<DB_name>;User=<>;Password=<>;Trusted_Connection=yes"
Но в Linux не предусмотрено наличие OLE DB. Вот пруф.

https://www.sql.ru/forum/664208/mne-...-a-chto-vmesto

Вся проблема заключается в том, что в итоге для связи с базой данных MySQL на Linux необходимо устанавливать либо библиотеку, либо драйвер, а хотелось бы обойти это.

В общем, выхода нет. Ну по крайней мере моих знаний в программировании не хватает, чтобы его найти.
Сам не знаю, как докатился до такой жизни
Bad.enok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удается подключиться к MongoDB на удаленном сервере из Compass Illusiony JavaScript, Ajax 0 01.02.2020 17:08
Android - SQL на удаленном сервере. Dj_DeVaIs Мобильные ОС (Android, iOS, Windows Phone) 4 27.11.2014 14:04
Работа с файлами на удаленном сервере gufon Работа с сетью в Delphi 2 30.03.2011 23:34
как проверить наличие папки на удаленном сервере? xxxsas PHP 4 18.01.2011 16:16
подключение к Excel из delphi через ODBC.возможно ли это без глюков? betirsolt БД в Delphi 0 13.06.2010 01:05