Назад | Перейти на главную страницу

Подключение локальных данных БД к удаленному соединению данных БД

Хорошо, ребята, ко мне обратился клиент с просьбой создать веб-сервис, который позволит пользователям сортировать кучу проприетарных данных. Это все хорошо и модно, но загвоздка в том, что все эти данные поступают из программного обеспечения, которое они установили на локальных серверах по месту их нахождения. Я подумываю написать задание cron для получения и анализа данных с заданным интервалом. Доступ к данным можно получить с помощью протокола ODBC, но мне нужно выяснить, как, черт возьми, я собираюсь получить данные с локального сервера на удаленный сервер.

Сначала я подумал, можно ли напрямую подключиться к локальному серверу из PHP с помощью функции odbc_connect, но я думаю, что мне нужно иметь адрес для локального сервера, который общедоступен?

Если это не вариант, было бы лучше всего что-то, что могло бы анализировать данные и передавать их в онлайн-режиме для доступа через удаленный сервер? Я не очень-то «И.Т.» парень, поэтому я не уверен, как бы я вообще сделал этот локальный сервер доступным из Интернета. Кажется ли это возможным, или вы знаете какие-нибудь варианты получше? Спасибо!

Я предполагаю, что у вас есть данные в БД, а не в одном плоском файле:

Самый безопасный способ - по возможности сделать локальные данные доступными на внешнем сервере. Вы можете использовать PHP / MySQL для выгрузки, экспорта и загрузки данных на временной основе с помощью cron или подобного, но это предполагает, что у вас есть доступ к локальной серверной среде, БД и PHP. (Трудно предложить больше, не понимая на самом деле вашу локальную сеть).

Псевдопроцесс:

  1. Используйте cron для запуска data_dump.php (который экспортирует необходимые данные из локальной БД)
  2. Подключиться к внешней БД и добавить (или перезаписать) данные

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

В прежних проектах и ​​компаниях мы всегда загружали на заблокированный и безопасный сервер отчетов, который не содержит ничего, кроме данных отчетов.

Другой вариант, о котором я могу думать, - это создание отношения БД главный-подчиненный, но это, вероятно, выходит за рамки здесь и слишком сложно для ваших нужд на данный момент.

Надеюсь, это немного поможет!