Добрый день. Мне действительно нужна помощь
Мне нужно получить доступ к таблице foxpro в PHP.
Когда я получаю к нему доступ, используя локальный путь в качестве источника данных, он работает гладко.
Но когда я пытаюсь получить доступ к файлу базы данных на другом компьютере, он всегда запрашивает неверный путь при условии, что у меня есть доступ к компьютеру, и файлы открыты для общего доступа. Вот мой код:
$conn = new COM("ADODB.Connection");
$server='172.0.0.8\server';
$conn->Open_basedir('Provider=VFPOLEDB.1;Data Source=//172.0.0.8/server/sysprog/system/tempstk.dbf;Collating Sequence=MACHINE');
// SQL statement to build recordset.
$rs = $conn->Execute("SELECT * FROM tempstk");
echo "<p>List of couriers:</p><hr>";
// Display all the values in the records set
while (!$rs->EOF) {
$fv = $rs->Fields("Prodcode");
echo $fv->value."<br>\n";
$rs->MoveNext();
}
$rs->Close();
Спасибо!
Я предполагаю, что веб-сервер и файловый сервер являются окнами? Если вы используете анонимную авторизацию в Internet Information Server, запрос исполняет роль пользователя Windows. В стандартной конфигурации это будет IUSR. Этот пользователь должен иметь доступ к общему ресурсу и иметь права на чтение / запись файла.
IUSR является локальным пользователем. Не входит в домен. Поэтому проверьте настройки безопасности общего ресурса и посмотрите, включен ли IUSR.
Похоже, что в вашей строке подключения есть ошибка.
Вот пример, который я только что протестировал, и он отлично работает на моей стороне:
Provider=VFPOLEDB.1;Data Source=\\hostname\Shared Folders\somefolder\;Password="";Collating Sequence=MACHINE