Как подключить статическую БД MS-Access онлайн и подключиться к ней с помощью PHP? - PullRequest
1 голос
/ 26 июля 2011

На работе мне было поручено создать онлайн-форму с использованием php, которая подключается к базе данных MS-Access. Прежде чем вы, ребята, начнете упоминать о минусах использования Access в сети, это решение предназначено для сайта INTRAnet и будет иметь минимальный трафик, и эта база данных не была создана мной, и у меня нет возможности переключиться на другую, менее раздражающую опцию БД.

Подготовка базы данных MS-Access (.accdb) для перехода в онлайн

Исходя из моих исследований, очень мало приличных вариантов для фактического подключения к базе данных MS-Access с использованием PHP, и я не смог найти хорошую документацию о том, как получить эту БД, которая в настоящее время просто находится на общем диске, так как файл .accdb или что-то подобное, в место и форму, где я могу попробовать грязную работу по подключению к нему. На данный момент я даже не уверен, защищен ли он паролем / именем пользователя. Честно говоря, я ничего не знаю о работе с MS-Access, поэтому любые советы, которые вы можете мне дать, были бы полезны. Если это так же просто, как преобразование .accdb в .mdb (расширение файла, которое я видел в моем исследовании), а затем сбросив его в корневой каталог, тогда отлично. Единственная документация по этому вопросу, которую я смог найти, это «Не использовать Access», lol.

Подключение к новой онлайн-базе данных MS-Access с помощью PHP (без установки чего-либо на сервер)

Теперь мне нужно подключиться к этой базе данных с помощью PHP. Я нашел несколько вариантов сделать это, но моя неспособность получить доступ к серверу (помимо корневого каталога нашего сайта) для установки библиотек / источников данных, таких как ODBC, препятствует некоторым из них. Если моя логика неверна, и я могу запустить эту опцию, просто внеся изменения в каталог сайта, то это здорово! дай мне знать. Также я нашел один случай, когда кто-то порекомендовал adodb.inc.php в качестве опции, но документация по (http://phplens.com/lens/adodb/docs-adodb.htm#coding) не очень ясна относительно того, как подключиться или, особенно, как я могу взаимодействовать с ним, когда я это сделаю.

Извините, ребята, я знаю, что это много вещей, но любая помощь ценится и настолько детализирована и понятна, насколько вы можете ее сделать, было бы удивительно, потому что у меня сейчас есть другие проекты на моей тарелке, и я не потратил на это массу времени. на НИОКР по этому вопросу сверх того, что я уже потратил. Спасибо!

Ответы [ 3 ]

1 голос
/ 26 июля 2011

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

0 голосов
/ 28 июля 2011

Copnsider с использованием OpenLink Software Многоуровневый мост ODBC к ODBC

Этот продукт имеет архитектуру клиент / сервер, подобную этой -

Веб-сервер - приложение php Универсальный драйвер ODBC OpenLink (многоуровневый клиентский компонент)

Хост Windows - 32-битный OpenLink Request Broker (многоуровневый серверный компонент) 32-битный агент OpenLink для источников данных ODBC (компонент многоуровневого сервера) Файл Microsoft Access .mdb + настроенный источник данных ODBC для доступа (DSN)

0 голосов
/ 27 июля 2011

Это полностью выходит за рамки моей компетенции, так как я являюсь разработчиком Access и никогда не должен работать с файлами данных Access в той среде, в которой вы находитесь, но вот что я думаю:

Учитывая, что Jet / ACE (ядро базы данных для файла MDB / ACCDB) является ядром базы данных на основе файлов, вам необходим сетевой доступ SMB к файлу. HTTP-доступ невозможен.

Самое простое, что нужно сделать - это поместить файл на файловый сервер Windows, к которому у HTTP-сервера есть доступ, и затем получить к нему доступ через ODBC (который для Jet / ACE основан на файлах и не требует запуска каких-либо компонентов файловый сервер, на котором находится файл).

Пока на HTTP-сервере установлен соответствующий драйвер ODBC, все будет в порядке.

Еще одна вещь: если вы можете использовать Access 2007/2010 для сохранения ACCDB в виде файла MDB, у вас будет гораздо больше гибкости, так как большая часть документации ODBC предназначена для Jet 4, а не для ACE (новый ядро базы данных, представленное в A2007 вместе с новым форматом файлов; все это все еще Jet, просто новая версия).

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