подключение к базе данных в php с MS Access на хостинге linux - PullRequest
1 голос
/ 17 февраля 2010

Я бегу по php.
А в моем регионе я работаю в среде Windows, поэтому было легко подключиться к базе данных MS Access с помощью коннектора ODBC.

Но в моей среде живого сервера есть Linux, поэтому есть проблема с подключением к БД.

Итак, каковы шаги для подключения к MS Access DB в среде Linux с помощью php.

Спасибо
Авинаш

Ответы [ 5 ]

3 голосов
/ 17 февраля 2010

Это также не дает прямого ответа на ваш вопрос, но это еще один способ решить проблему желания использовать Access для обновления веб-данных:

Вы можете перенести свою базу данных Access в MySQL на работающем (веб) сервере и использовать Access в качестве интерфейса к этой базе данных для своего пользователя (в основном переключая роли веб-сайта и Access): 1005 *

Вы можете подключиться к базе данных MySQL из Access через ODBC, используя драйвер MySQL Connector , связывая таблицы в Access с помощью инструментов «Внешние данные». Таким образом, вы получаете (более) серьезное ядро ​​базы данных, оптимизированное для Интернета, но сохраняющее способность вашего пользователя манипулировать данными с помощью знакомых им инструментов.

1 голос
/ 18 февраля 2010

Связь между веб-сервером и сетью клиента неясна.Если сервер Linux находится в локальной сети клиента и работает под управлением Samba, вы, безусловно, можете сохранить базу данных Access / Jet / ACE на сервере Linux, а пользователи смогут редактировать ее в Access.

Тогда вам потребуетсяодин из эмуляторов Jet, работающий на сервере Linux (насколько я знаю, для Linux нет эмуляции ACE, поэтому, если их база данных имеет формат ACCDB, вам не повезет, если только я недата, что я слышал об эмуляторах).Некоторые из эмуляторов Jet доступны только для чтения, поэтому будьте осторожны с этим.

Теперь я бы не рекомендовал этот сценарий, поскольку Jet / ACE не предназначен для такого рода приложений.Он отлично работает в среде небольшого офиса / рабочей группы с сетями SMB, но я бы не стал использовать его в качестве бэк-энда любого веб-сайта, который не был доступен только для чтения, подтверждения концепции или очень, очень небольшого объема чтения / записи.Я, конечно, никогда не рекомендовал бы иметь тот же MDB, который служит в качестве серверной части веб-сайта и используется одновременно пользователями интерактивного доступа.

Если этот сценарий верен, ваши пользователи могут по-прежнему работать с Access, если вы перенесете серверную часть насерверная база данных, которая работает на Linux.Я использую MySQL все время, и так как я идиот Access, я использую phpMyAdmin для моего пользовательского интерфейса для управления базами данных MySQL.Это должно быть достаточно легко для пользователя Access, чтобы разобраться с этой схемой.Используя MyODBC, вы можете настроить связанные таблицы в Access, а также отчеты и формы, и они будут работать почти так же, как и с серверной частью Jet.

Но я сильно сомневаюсь, что ваш клиент размещает свой веб-сайт насервер Linux, подключенный к их офисной локальной сети.Более вероятно, что сервер Linux является общим веб-хостингом, и в этом случае сеть SMB будет недоступна, поэтому вы не сможете иметь единую базу данных Access, отредактированную как с веб-сайта, так и с помощью интерактивных пользователей.ЭТО ХОРОШО, так как в первую очередь это было бы нецелесообразно.

При совместном хостинге вам может разрешить открыть порт для базы данных сервера (хост-сервер моего сайта)предоставляет как MySQL, так и PostgreSQL, но разрешает удаленный доступ только к MySQL и только через имя хоста / IP-адрес. Это, вероятно, не очень хорошо работает с офисной локальной сетью. Любой веб-хост, который позволяет открывать неограниченный доступ к серверу базы данных из дикой иВероятно, ваш клиент не должен использовать неопрятный Интернет. Один из вариантов был бы, если бы они предоставили поддержку VPN, и в этом случае можно было бы использовать VPN. Но по моему опыту, веб-хосты берут за это руку и ногу (необоснованно такна самом деле), так что обычно это не очень хороший вариант.

Так что маловероятно, что вы сможете в реальном времени подключаться к базе данных сервера, работающей на веб-сайте.остались в синхронизации с базами данных в некотором роде. Если веб-сайт является полным рабом доступаatabase (т.е. без редактирования, добавления или удаления на веб-сайте), тогда это может быть очень простым, так как вы можете просто написать сценарии для экспорта данных в файл или файлы, которые вы загружаете на веб-сайт, а затем обработать на веб-сайте для заменысуществующие данные.

Если у вас есть сценарий с несколькими мастерами (обновления в обоих местоположениях), он намного сложнее, особенно если обновления должны идти обоими способами.Я запрограммировал конец Access именно для этого сценария, то есть для синхронизации базы данных MySQL на веб-сайте с базой данных Access, и это не тривиальная задача.

Если вы можете получить MySQL на обоих концах, это можетбыло бы немного проще (при условии, что вы могли бы настроить репликацию, что в сценарии хостинга низкого уровня кажется мне маловероятным), но я бы на это не рассчитывал.

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

Следует учитывать, что веб-сайт не является общедоступным, но для поддержки удаленных пользователей заключается в том, что Access 2010 собирается добавить удивительную поддержку интеграции с Sharepoint Server 2010, которая позволит публиковать базу данных Access на сервере Sharepoint Server и запускать ее в веб-браузер. С другой стороны, если обстоятельства ограничены удаленными пользователями, приложение Access может быть запущено на сервере терминалов и избавит всех от множества неприятностей.

0 голосов
/ 17 февраля 2010

Лично я бы рекомендовал портировать на СУБД, которая работает как в Windows, так и в Linux. Но если вам нужно придерживаться доступа, вы можете проверить:

http://www.unixodbc.org/ или же http://www.openlinksw.com/

0 голосов
/ 17 февраля 2010

Если вы находитесь на виртуальном хостинге, серверу Linux скорее всего не будет поддерживаться ODBC. Вам будет лучше использовать SQLite, так как он будет работать на Linux и Windows (и OS X) без каких-либо серьезных проблем с использованием PHP ...

0 голосов
/ 17 февраля 2010

Я не работал с доступом в Linux, но быстрый поиск дал мне это.

База данных Microsoft Access с использованием Linux и PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...