2015-08-11 4 views
3

Я пытаюсь читать Visual FoxPro .dbf файлов с помощью PHP и получают следующее сообщение об ошибке:Невозможно прочитать визуальную таблицу FoxPro DBF с помощью PHP (OLE DB)

Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft OLE DB Provider for Visual FoxPro<br/><b>Description:</b> Invalid path or file name.' in C:\xampp\htdocs\phpdbf\index.php:41 Stack trace: #0 C:\xampp\htdocs\phpdbf\index.php(41): com->Open('Provider=VFPOLE...') #1 {main} thrown in C:\xampp\htdocs\phpdbf\index.php on line 2 

Я скачал и поставщик запустить из here (note: не уверен, что мне нужно сделать какую-либо дополнительную конфигурацию - просто запустите ее).

Вот мой код: (примечание: Я не уверен, о «ADODB.Connection» и «Provider = VFPOLEDB.1» значений в коде, дайте мне знать, если они не стоят по умолчанию.)

$conn = new COM("ADODB.Connection"); 
$conn->Open('Provider=VFPOLEDB.1;Data Source="C:\\xampp\\htdocs\\phpdbf;";'); 

//test.dbf is the file 
$rs = $conn->Execute("SELECT * FROM test"); 

// Display all the values in the records set 
while (!$rs->EOF) { 
    $fv = $rs->Fields("my_datetime"); 
    echo $fv->value."<br/>"; 
    $rs->MoveNext(); 
} 
$rs->Close(); 

Note: I have tried the answer here , but still getting this error.

+0

Вы используете 32-разрядную или 64-битную версию XAMPP? Я бы предположил, что материал foxpro компилируется только для 32-битных, может быть, это ваша проблема? – RiggsFolly

+0

Я запускаю 32-битный xampp на окнах – aiiwa

+0

попытайтесь избавиться от полуколонии после пути, где находятся таблицы ... не знаю, убивает ли это соединение. – DRapp

ответ

1

Ваш источник данных необходимо указать на Visual FoxPro .DBC файла. Пример

Data Source="c:\\vfpdata\\mydatabase.dbc"