Intereting Posts
Запрещено У вас нет разрешения на доступ к этому серверу. Сервер не может читать файл htaccess, запрещающий доступ к безопасности почему strftime () на windows возвращает false? (я не использую% e) создать представление, которое получает ранг, имя пользователя и количество записей пользователя Eclipse и Zend Debugger всегда ломаются в первой строке, несмотря на то, что эта опция не установлена Отправить JSON cURL всегда возвращает «Без доступа», Как выполнить мой SQL-запрос в CodeIgniter Нарушение родительской функции из дочерней функции (PHP Preferrably) Горячая клавиша в PhpStorm для перехода к тегу HTML end адрес электронной почты div в php Процесс FastCGI превысил настроенный тайм-аут активности на общем хостинге PayPal IPN на порту, отличном от 80 Переписать расширение файла BUT запретить прямой доступ к файлу «Предупреждение: невозможно изменить информацию заголовка – заголовки, уже отправленные« error Как вызвать внешний файл javascript в PHP? pthread не работает в php

Чтение foxpro DB с использованием php / Java

Я ищу фрагмент кода / библиотеку для чтения данных из стороннего foxpro DB через сеть, используя php / Java с сервера Linux. Есть ли доступная библиотека? Некоторые люди, кажется, используют библиотеку Dbase для php? Это работает?

Какие параметры мне нужны из Foxpro DB, кроме значения по умолчанию (имя_базы данных, имя пользователя, пароль). Имя DBF, строка подключения?

Solutions Collecting From Web of "Чтение foxpro DB с использованием php / Java"

Некоторое время назад я изучал одно и то же решение и ударил многие тупики. Я хотел решение, которое работало с php.
Некоторые из них, которые я пробовал, были
1. Драйверы Xbase : они хорошо работали для простых DBF, но затем они не поддерживают новые типы данных, такие как поля DateTime, поэтому опция была исключена.
2. Драйвер VFP ODBC : это хорошо работает, если вы работаете с более старой версией VFP, так как разработка на этом остановилась и не поддерживает новые поля автоинкремента, и вы продолжаете получать странные ошибки, такие как «Не таблица», которая заставляет вас закончить псих. «Драйвер VFP ODBC не поддерживает таблицы с полями автоинкремента»
3. Коммерческие инструменты : Есть много других коммерческих вариантов, которые, очевидно, не будут работать для меня
4. Бесплатные инструменты (DBF to CSV), которые преобразуют DBF в csv или аналогичные, но тогда это будет работать, если вы делаете только выбор. Вы не можете делать какие-либо обновления.

Последний вариант, который, наконец, работал для меня: Visual FoxPro OLE Driver.

Здесь вы можете установить драйвер OLE. Пример кода выглядит так:

 $ conn = новый COM («ADODB.Connection»);
 $ conn-> Open ('Provider = VFPOLEDB.1; Источник данных = "C: \\ testDB.dbc";'); 

 $ query = "SELECT * FROM TABLE1";
 $ rs = $ conn-> Execute ($ query) или die ("Ошибка в запросе: $ query.". $ conn-> ErrorMsg ());
 в то время как (! $ rs-> EOF) {
     echo "Получил COL1:".  $ rs-> Поля ("COL1").  ":: COL2:".  $ rs-> Поля ("COL2").  " Я бы: " .  $ rs-> Поля ("ID").  "\ П";
     $ Rs-> MoveNext ();
 }

 $ query = "UPDATE TABLE1 set COL1 = \" AA \ ", COL2 = \" Обновленное значение \ "";
 $ Conn-> Execute ($ запроса);

Я не нашел документацию для php, но вы можете обратиться к API-интерфейсу MSDN ADO и использовать аналогичный API, особенно если вы хотите выполнять операции на основе транзакций.

 $ Conn-> BeginTrans ();
 ..
 ..
 $ Conn-> CommitTrans ();
 или 
 $ Conn-> RollbackTrans ();

XBaseJ может быть тем, что вы ищете. Это с открытым исходным кодом, и это неплохо – я использую его в нескольких приложениях, где клиенты все еще висят на своих 15-летних приложениях FoxPro.

Вы можете сказать нам, какая версия FoxPro создается. Таблицы FoxPro для DOS отличаются от таблиц Visual FoxPro, если они содержатся в контейнере базы данных (DBC).

Таблицы DOS могут быть доступны с помощью инструментов DBase, поскольку они имеют некоторую совместимость.

Вот ссылка на пример доступа к данным Visual FoxPro. Он также должен работать с FoxPro для данных DOS.

http://social.msdn.microsoft.com/Forums/en/visualfoxprogeneral/thread/821a3cb7-2f25-4cc9-b3a6-ec4551013d2a

Рик Шумер

Лучший способ, который я нашел, – установить сервер MSSQL в качестве связанного сервера в базу данных Foxpro. MSSQL находится на той же машине, что и foxpro. Запросы идут на сервер MSSQL. Я использую бесплатный. У меня, вероятно, была та же проблема, с которой вы сталкиваетесь … получение текущих данных Foxpro по сети.

См. Ответ на аналогичный вопрос: https://stackoverflow.com/a/21945208/1456887

В основном:

  • Драйверы FoxPRO OLE DB
  • JACOB версии 1.17 или выше
  • исправить строку подключения.