Я копаю интернет в течение нескольких дней, читая очень старую информацию, что приводит к очень старым и несуществующим сайтам, тем не менее, я понял, что нужно для достижения моей цели.
Поправьте меня, если я ошибаюсь и, пожалуйста, дайте мне больше советов, как достичь такой связи.
Наконец, я нашел решение.
Установить сервер сервера Win с файлами .mdb
sshfs {user} @: / {точка монтирования unix} -o обходное = переименование, allow_other
Настройка на сервере unix mdbtools
Итак, я использовал код PHP по умолчанию из документов и написал этот PHP-скрипт:
$rows = $cols = array(); if (($handle = popen('/usr/bin/mdb-export {unix mount point}/{file}.mdb {table} 2>&1', 'r')) !== FALSE) { while (($data = fgetcsv($handle, 0, ",")) !== FALSE) { $num = count($data); if ($row == 1) { for ($c=0; $c < $num; $c++) { $cols[] = $data[$c]; } } else { for ($c=0; $c < $num; $c++) { $rows[$row][$cols[$c]] = $data[$c]; } } $row++; } pclose($handle); } print_r($rows);
find / -name "mdb-export"
, если вы не можете найти их). mdb-tables {unix mount point}/<file>.mdb
Нет необходимости в драйверах, конфигурации или других материалах, просто mdbtools и доступ к файлу, в этом случае достигается с помощью удаленного подключения через ssh. Вы хотите установить пакет плавких предохранителей, чтобы автоматически установить удаленный каталог, но это другой вопрос.
Надеюсь, что это поможет.
Вы не подключаетесь к «серверу dsn». DSN – это только локальная вещь. Они вообще не отображаются для удаленных подключений. Если вы хотите, чтобы машина подключалась к базе данных, вам необходимо настроить DSN на этом компьютере – вы не сможете использовать DSN, указанный в другом месте.
Для PHP ODBC это будет
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=/network/path/to/your/access/database.mdb", $user, $password);
Вы правы, потому что вам нужен ODBC для ODBC Bridge.
В OpenLInk мы ссылаемся на многоуровневый ODBC на мост ODBC …
Это многоуровневый интерфейс в том смысле, что он имеет архитектуру клиент / сервер следующим образом:
Linux Client – приложение ODBC OpenLink Generic ODBC Driver
Windows Server – 32-битный запрос OpenLink Брокер 32-битный агент ODBC OpenLink 32-битный Microsoft Access ODBC-драйвер (с предварительно настроенным DSN) файлом базы данных Microsoft Access.
Его коммерческий, возможно, не представляет интереса, но у Easysoft есть драйвер ODBC для Access, доступный на Most * nix. Не требуется мост. На данный момент в FreeBSD нет встроенной сборки, но я мог бы создать один для вас в понедельник, если это будет интересно.
Есть инструменты MDB с открытым исходным кодом, которые могут быть достаточно для того, что вы хотите, но в нем недостаточно функциональности.
Драйвер ODBC Easysoft Access
Инструменты MDB
Использовать PDO с MDBTools:
установить:
apt-get install libodbc1
apt-get install libmdbodbc1
apt-get install php5-odbc
(перезапустить apache)
Образец:
$query = 'SELECT * FROM Table'; $mdb_file = 'file.mdb'; $driver = 'MDBTools'; $dataSourceName = "odbc:Driver=$driver;DBQ=$mdb_file;Uid=user;Pwd=pass;"; $connection = new \PDO($dataSourceName); $result = $connection->query($query)->fetchAll(\PDO::FETCH_ASSOC); print_r($result);