Один из наших сотрудников создал базу данных Microsoft Access и создал Joomla! Модуль вокруг него. В настоящее время он работает на сервере WAMP с подключением ODBC к файлу adb. Как я могу создать соединение ODBC в Ubuntu для базы данных Access? На данный момент я открыт для того, чтобы БД работала локально на моем сервере Ubuntu или где-нибудь на общем ресурсе SMB. Перенос его из Access в MySql уже предлагался. Это может сводиться к этому, но я действительно вынужден найти другой вариант. Кто-нибудь знает, возможно ли это и как это сделать?
Прочитайте эту ссылку:
Получая доступ к Microsoft SQL Server от PHP на Ubuntu с помощью PDO, ODBC и FreeTDS
следуйте этим инструкциям для доступа к базам данных SQL Server от PHP на сервере Ubuntu:
Установите freetds-мусорное-ведро пакетов, freetds-распространенное, tdsodbc, odbcinst, php5-odbc и unixodbc. Это обеспечивает библиотеки, в которых Вы нуждаетесь.
Скопируйте содержание /usr/share/doc/freetds-common/examples/odbcinst.ini в /etc/odbcinst.ini. Это регистрирует драйвер FreeTDS в уровне ODBC.
Restart your webserver to load the ODBC module into PHP.
Именно! Необходимо теперь быть в порядке. Попытайтесь тестировать соединение с базой данных с чем-то вроде этого:
<?php
try
{
$db = new PDO('odbc:Driver=FreeTDS; Server=hostname_or_ip; Port=port; Database=database_name; UID=username; PWD=password;');
}
catch(PDOException $exception)
{
die("Unable to open database.<br>Error message:<br><br>$exception.");
}
echo '<h1>Successfully connected!</h1>';
$query = 'SELECT * FROM table_name';
$statement = $db->prepare($query);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_NUM);
?>
Ваши варианты замены ядра базы данных JET, работающего исключительно в Linux, в лучшем случае невелики. Помните, что файлы доступа - это просто плоские файлы, и это программное обеспечение, предоставляемое Microsoft, которое фактически анализирует и запускает команды SQL. Microsoft неудивительно, что не предоставляет порт Linux.
Mysql и PHP - это совпадение, созданное на небесах, так что вы можете подумать о переключении. Если код PHP хорош, переключение будет безболезненным.
Вы можете перейти из MS Access в MSSQL или MySQL или PostgreSQL, но вам придется переместить его куда-нибудь , если вы хотите, чтобы PHP в Linux мог его читать.
Повсюду есть рецепты кулинарной книги для доступа к базам данных Jet из PHP, но они - красная сельдь - все они предполагают, что вы используете PHP на компьютере с Windows с установленным MS Access и используете драйвер ODBC только для Windows для открытия файлов Jet («доступ»), который поставляется вместе с Access. Ничего хорошего в Linux.